Web サービス Neocities(ネオシティーズ)についてまとめています。


公式・関連サイト

Facebook は 2018年 の投稿を最後に止まっています。
投稿内容も Twitter の tweet 自動投稿のようで、まともに使っていないようです。


目次


きっかけ

Twitter のこの tweet がきっかけです。

tweet に「10MB limit」とありますが、現在無料のストレージ容量は 1GB です。

GeoCities(Yahoo! GeoCities)は失われましたが、この流れを Neocities が継承しています。
ここでの Yahoo! GeoCities は Yahoo! JAPAN 提供(2019年3月サービス終了)ではなく、
アメリカ Yahoo! が行っていたサービス(2009年10月終了)です。

この tweet から数日で Neocities が公開されています。

 Making the Web Fun Again | The Neocities Blog


登録

公式トップページの Sign up for free にあるフォームを埋めます。

  • Username このユーザー名が公開アドレス https://ユーザー名.neocities.org/ になります。
  • Tags 関係するキーワード。英語のみで、日本語は使えません。
  • Password ログインはユーザー名・パスワードを使用します。
  • Email メールアドレス。 無料プランでは 1 メールアドレスで 1 サイトのみ です。
  • Confirm you are human 「私はロボットではありません」を  にして下さい。

過去に使用していたメールアドレスを再使用したい場合、
その時に使っていたアカウント・パスワードを覚えていたら、
それで Sign In すると、サイトを復旧する事ができます。
サブドメインは  設定 から変更可能です。


サイトの編集

Neocities は FTP を使用できません。
無料の場合は Web 上から編集するか、API・CLI を使用する事になります。

ログイン後  Edit Site から HTML を編集します。

  • 文字コード UTF-8 であれば、日本語も直接使用できます。
  • Not Found の表示は not_found.html です。 404.html は認識しません。
  • アカウント毎にサブドメイン割り当てなので、 robots.txt や favicon などを認識します。
  •  Upload でファイルをアップロードできます。
  • ファイル一覧の下 Download entire site でサイトの構成ファイルを
    .zip 形式でダウンロードできます。

ニュースフィード

ログインした後に表示されている表示です。更新をすると反映されます。
これが SNS になっていて、他の Neocities ユーザーと交流が可能です。

このフィード表示では相手のフィードに入ってのフォローやコメント入力、
登録時に入れていたタグの変更が可能です。


設定

ログイン後右上 Setting からサイトの設定を行えます。

  • Manage Sites 「Manage Site Settings」へ入れます。
    サポーターの場合、ここは複数サイトが表示されます。
  • Supporter Info  サポーター(有料会員)へ変更できます。
  • Change Password パスワードを変更します。ログインに影響があります。
  • Change Email メールアドレスと通知を変更します。
  • Delete Account アカウントを削除します。
    このメールアドレス・アカウントでの再登録はできません。

サイト設定

Manage Site Settings では、更に次の設定が可能です。

  • Profile サイトプロフィールの表示・非表示、IPFS が設定できます。
  • Custom Domain  サポーターの場合は独自ドメインを設定できます。
  • Change Site Name サイト名.neocities.org の サイト名 を変更します。
    ログインに影響があります。
  • Tipping 寄付ボタンの表示を行えます。PayPal・Bitcoin を設定できます。
  • API Key API を使用する時の API キーが表示されています。
  • 18+ 18 歳以上向けのコンテンツを含めている場合は、これを有効にして下さい。
    Neoctiies のサイト一覧表示で表示されないようになります。
  • Delete  サポーターの場合、複数サイトを管理している時は、これでサイトを削除します。

サポーター (有料会員)

サポーターになると複数サイトの作成、独自ドメインの使用などが可能になります。
無料とサポータの違いは次のとおりです。

項目 Free(無料) Supporter(有料)
費用 無料 月 US$5
ストレージ容量 1GB 50GB
転送量 月 200GB 月 3TB
ファイル形式 制限あり 制限なし
生成サイト数 1 サイトのみ 複数サイト生成可能
独自ドメイン 使用不可 設定可能
WebDAV 使用不可 使用可能

メールアドレスが異なっていれば、異なるユーザー名で新規作成できますので、
メールアドレスにエイリアスを作成して複数サイトを無料生成する事は可能です。
独自ドメインでの運用はサポーター必須になります。


CLI

公式に CLI が提供されています。
多くのファイルを扱っている場合は、CLI を使うのが良いです。

 The Neocities CLI

Ruby をインストールした状態より、次でインストールします。

gem install neocities

2020年12月に Ruby 3.0 が公開されました。
Ruby 3 ではいくつかパッケージのバージョン違いによる表示が表示されますが、
使用は可能である事を確認できています。

あとは Web サイト生成後、 neocities push でアップロードします。
後ろに公開ディレクトリを指定します。 . でカレントディレクトリです。

neocities push .

Hugo は通常 public/ に index.html などを生成します。

🎈 Hugo | ふうせん🎈 FU-SEN

したがって、次の操作になります。

hugo
neocities push public

この CLI は neocities push でファイルを削除しません。
ファイル削除は別途操作が必要です。

はじめて使用する場合、アカウント情報の確認があります。
これは結果として config ファイルに API Key を入れます。
 サイト設定 で確認できる文字列です。
Windows では (ユーザー)\AppData\Local\neocities\config にあります。
この config ファイルの API Key を切り替えて、ユーザーを変更できます。
例えばビルドする場所に次の package.json を生成する事で、
API キーを切り替えて npm run deploy で公開できます。
Windows 向けに制作している事にご注意下さい。

{
  "config": {
    "APIKEY": "API キー"
  },
  "scripts": {
    "deploy": "@echo|set /p=\"%npm_package_config_APIKEY%\" > C:\\Users\\ユーザー名\\AppData\\Local\\neocities\\config & neocities push デプロイ元"
  }
}

GitHub には API を用いたソース等はいくつか公開されていますが、
Windows では動作に問題が生じる場合があります。


Q&A

Neocities のサーバはどこにあるのですか?

 The Neocities Anycast CDN

CDN で公開されています。日本からのアクセスは NRT で返ってくるはずです。
NRT - Tokyo, Japan とあるとおり、東京に CDN のエッジサーバがあります。
したがって、レスポンスはとても良いです。日本語サイトでも十分使用できます。

ちなみに NRT は成田空港の空港コードです。
CDN では近くの空港コードが主に採用されています。

SSL 化されていますか?

Neocities は常時 SSL 対応を完了させています。すべて https 表示になります。

 We’re switching to default SSL | The Neocities Blog

サブドメイン.neocities.org は有料のワイルドカード証明書です。
独自ドメインは Let’s Encrypt を適用します。

🎈 Let’s Encrypt | ふうせん🎈 FU-SEN

なお、Neocities は 2018 年の段階で TLS 1.3 を採用済みで、
他にも Brotli 圧縮 など、新しい技術の採用も積極的です。

 We’re switching to default SSL | The Neocities Blog

日本語サブドメインで登録できますか?

Punycode(xn-- ではじまる英数)でユーザー名を登録する事で
日本語.neocities.org で使用する事ができます。
ただし、ユーザー名表示は Punycode の英数表示になります。
サポーターになった場合の独自ドメインも同様に使用可能のようです。

🎈 fu-sen/xn--ck8h.neocities.org | GitHub

他言語はもちろん、絵文字も使用する事ができます。
実際にページ運営者は 🎈.neocities.org を使用しています。

URL を知っている人だけが参照できる Web を制作できますか?

次の対応で URL を知っている人だけが参照できる Web にできます。

  • ファイル robots.txt を生成し、次を入れます。
    これにより Google などの検索エンジンで表示されなくなります。
User-agent: *
Disallow: /
  • ログイン後 右上 Settings より Manage Site Settings を選び、
    「Disable Site Profile Comments」「Disable Site Profile」の  を外します。
    これにより、Neocities のサイト一覧で表示されなくなります。

  • index.html は中身のファイルをリンクしないようにします。
    共有する場合は他の HTML ファイルで生成します。

ファイルをアップロードしましたが、失敗します。

 Allowed File Types | Neocities

無料会員の場合、生成・アップロードできるファイルの拡張子が制限されています。
 サポーター (有料プラン) では、制限がありません。

画像置き場やダウンロードファイル置き場にできますか?

 Neocities Hotlinking Policy | Neocities

Neocities のポリシーより、外部から画像などをリンクする事は許可されていません。
実際にこの対策がとられていていて、参照によって表示・ダウンロードされません。
Neocities は「Web サイトを公開する場所」なので、ご注意下さい。

上記項目にあるとおり、無料プランでは使用できるファイルの拡張子も制限があり、
特定ファイルはアップロードがそもそもできない仕組みになっています。

これらは公式サイトでは帯域幅や空き容量の節約を理由にあげていますが、
無料で提供しているため、ある程度の悪用対策を行ってあります。
 サポーター (有料プラン) では、これらの制限がありません。

Web ブラウザでは正常に表示されるのですが、Google などの検索結果で文字化けしています。

Neocities では .html ファイルのヘッダを Content-Type: text/html で出力します。
現在多くの Web サービスやサーバは Content-Type: text/html; charset=utf-8 です。
これは Neocities 時代の Web サイト保存が本来の目的なので、
UTF-8 が定義されていなかった古い Web サイトを考慮しているためと思われます。

.html ファイルで meta タグを用いて使用する文字コードを
charset 明示する事で改善を期待できます。

削除してしまったサイトを復活させる事はできますか?

実はアカウントを削除しても物理的に削除されていません。
Sign In でユーザー名・パスワードを入力すると、
サイトを復旧できます。完全に削除前の状態に戻せます。
その仕様により、削除したユーザーとメールアドレスは
新規登録で使用できないようになっています。

代わりにユーザー名=サイト URL を変更する事で
旧サイトを物理的になくすようにするのが理想的です。