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