📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

ページの作成:「== 概要 == IndexNowは、Webサイトのページが追加、更新、削除された際に、検索エンジンに即座に通知できるプロトコルである。<br> 通知を受けた検索エンジンは、他の参加検索エンジンと自動的に情報を共有する。<br> <br><br> == APIキーの準備 == ==== キーの要件 ==== IndexNowで使用するAPIキーには、以下の要件がある。<br> * 文字数: 最小8文字、最大128文字 *…」
 
 
(同じ利用者による、間の3版が非表示)
173行目: 173行目:
<br>
<br>
* Apache2
* Apache2
*: <syntaxhighlight lang="apache">
*: /var/www/html/
/var/www/html/
*: /var/www/example.com/public_html/
/var/www/example.com/public_html/
*: /usr/local/apache2/htdocs/
/usr/local/apache2/htdocs/
</syntaxhighlight>
*: <br>
*: <br>
* Nginx
* Nginx
*: <syntaxhighlight lang="nginx">
*: /usr/share/nginx/html/
/usr/share/nginx/html/
*: /var/www/html/
/var/www/html/
*: /var/www/example.com/
/var/www/example.com/
</syntaxhighlight>
*: <br>
*: <br>
* 共用サーバ (cPanel等)
* 共用サーバ (cPanel等)
*: <syntaxhighlight lang="text">
*: ~/public_html/
~/public_html/
*: ~/www/
~/www/
*: ~/htdocs/
~/htdocs/
</syntaxhighlight>
<br>
<br>
==== ステップ 5 : アクセス確認 ====
==== ステップ 5 : アクセス確認 ====
ブラウザまたはcurlコマンドで確認する。<br>
ブラウザまたはcurlコマンドで確認する。<br>
260行目: 255行目:
# テキストファイルを作成する。(UTF-8エンコード)
# テキストファイルを作成する。(UTF-8エンコード)
# ファイル名を <code>{あなたのキー}.txt</code> にする
# ファイル名を <code>{あなたのキー}.txt</code> にする
#: 例: <code>31a0f3c4c69e46fda555417af06e6db3.txt</code>
#: 例: 31a0f3c4c69e46fda555417af06e6db3.txt
# ファイル内にキーのみを記述する。
# ファイル内にキーのみを記述する。
# Webサイトのルートディレクトリに配置する。
# Webサイトのルートディレクトリに配置する。
271行目: 266行目:
また、送信時において、<code>keyLocation</code> パラメータで場所を指定する必要がある。<br>
また、送信時において、<code>keyLocation</code> パラメータで場所を指定する必要がある。<br>
<br>
<br>
例として、<code>http://example.com/catalog/key12457EDd.txt</code> に配置した場合を示す。<br>
以下の例では、http://example.com/catalog/key12457EDd.txt に配置している。<br>
* 送信可能なURL:
* 送信可能なURL:
** <code>http://example.com/catalog/show?item=23</code>
** http://example.com/catalog/show?item=23
** <code>http://example.com/catalog/show?item=233&user=3453</code>
** http://example.com/catalog/show?item=233&user=3453
* 送信不可能なURL:
* 送信不可能なURL:
** <code>http://example.com/image/show?item=23</code>
** http://example.com/image/show?item=23
** <code>http://example.com/image/show?item=233&user=3453</code>
** http://example.com/image/show?item=233&user=3453
<br><br>
<br><br>


339行目: 334行目:
   ]
   ]
  }
  }
<br>
===== 複数のURLを送信する例 =====
まず、サイトマップから送信するためのURLリストを作成する。<br>
<syntaxhighlight lang="sh">
#!/usr/bin/env sh
SITEMAP_URL="https://www.example.com/sitemap.xml"
 
# サイトマップをダウンロードしてURLを抽出
curl -s "$SITEMAP_URL" | grep -oP '<loc>\K[^<]+' > urllist.txt
echo "URLリストを urllist.txt に保存しました"
wc -l urllist.txt
</syntaxhighlight>
<br>
次に、IndexNowペイロードファイルを作成する。<br>
<syntaxhighlight lang="sh">
#!/usr/bin/env sh
# IndexNow設定
API_KEY="<APIキー>"
HOST="<ドメイン名>"
KEY_LOCATION="https://${HOST}/${API_KEY}.txt"
URL_FILE="urllist.txt"
OUTPUT_FILE="indexnow_payload.json"
# URLファイルの存在確認
if [ ! -f "$URL_FILE" ]; then
    echo "エラー: URLファイルが見つかりません: $URL_FILE"
    exit 1
fi
# JSONファイルを作成
echo "IndexNow ペイロード作成"
cat > "$OUTPUT_FILE" <<EOF
{
  "host": "${HOST}",
  "key": "${API_KEY}",
  "keyLocation": "${KEY_LOCATION}",
  "urlList": [
EOF
# URLリストを追加
URLS=$(cat "$URL_FILE" | sed 's/^/    "/;s/$/",/' | sed '$ s/,$//')
echo "$URLS" >> "$OUTPUT_FILE"
# JSONを閉じる
cat >> "$OUTPUT_FILE" <<EOF
  ]
}
EOF
# URLの数をカウント
URL_COUNT=$(cat "$URL_FILE" | wc -l)
echo "ペイロード作成完了"
echo "統計情報:"
echo "  URL数: $URL_COUNT"
echo "  ファイルサイズ: $(du -h "$OUTPUT_FILE" | cut -f1)"
</syntaxhighlight>
<br>
最後に、IndexNowにペイロードを送信する。<br>
curl -X POST "https://api.indexnow.org/indexnow" \
      -H "Content-Type: application/json; charset=utf-8" \
      -d @indexnow_payload.json
<br><br>
<br><br>


369行目: 430行目:
== 主要な検索エンジンのエンドポイント ==
== 主要な検索エンジンのエンドポイント ==
主要な検索エンジンのIndexNowエンドポイントを以下に示す。<br>
主要な検索エンジンのIndexNowエンドポイントを以下に示す。<br>
* Bing
<br>
** https://api.indexnow.org/indexnow
<center>
** https://www.bing.com/indexnow
{| class="wikitable"
* Yandex
|+ IndexNowプロトコルに参加している主要な検索エンジン
** https://yandex.com/indexnow
|-
* Seznam.cz
! 検索エンジン !! 対応状況 !! エンドポイント
** https://search.seznam.cz/indexnow
|-
| Bing || 完全対応 || https://www.bing.com/indexnow<br>https://api.indexnow.org/indexnow
|-
| Yandex || 完全対応 || https://yandex.com/indexnow
|-
| Seznam.cz || 完全対応 || https://search.seznam.cz/indexnow
|-
| Naver || 完全対応 || -
|-
| Google || 未対応 || -
|}
</center>
<br><br>
<br><br>