サイトマップを作る
サイトマップを作って、Google Search Consoleに登録します。
目次
サイトマップとは
サイトマップとは、検索エンジンにサイトのページなどのコンテンツの情報を伝えるものです。これによって、検索エンジンがそのサイトをクロールしやすくなります。
サイトマップの形式
Googleの場合はいくつかのサイトマップの形式をサポートしていますが、代表的なものはXMLとテキストだと思います。
テキスト形式
URLを1行ごとに1件ずつ指定したテキストファイルです。UTF-8エンコードで、ファイルの拡張子をtxtにします。
XML形式
XMLでコンテンツの情報を指定します。URL以外の情報を記述することができます。
書き方は、 sitemaps.org を参考にしてください。
テキスト形式とXML形式の比較
書式としてはテキスト形式の方が圧倒的に簡単です。ただ、XML形式でどういう情報が追加できるのか確認してみます。
属性 |
内容 |
|
---|---|---|
urlset |
必須 |
XMLサイトマップの基本になる属性です。 このタグで括られた中身がサイトマップになります。 |
url |
必須 |
各URLごとに親となるタグです。ページごとにこのタグで括ります。 |
loc |
必須 |
ページのURLを示すタグです。URLはhttpのようなプロトコルから始める必要があります。 |
lastmod |
オプション |
ページの更新日を示すタグです。YYYY-MM-DDという形式で書きます。 |
changefreq |
オプション |
更新の頻度を示すタグです。dailyやneverという形で書きます。 |
priority |
オプション |
サイト内でのこのURLの優先度を示すタグです。0.0から1.0の数値で指定します。 |
ただしGoogleのヘルプによると、Googleではpriority属性は使用していないとのことです。
静的サイトの場合は更新頻度はあまり有効ではないと思いますので、テキスト形式に対するXMLの優位なところは更新日を記載できるところですね。
テキスト形式とXML形式のどちらを選択するか
ページの更新もあまり頻繁に行わないので、とりあえず簡単に作れそうなテキスト形式にします。
更新したらサーチコンソールでインデックスの申請をすれば良いですし。
ファイル情報を収集する
当サイトは見ての通りPythonによるドキュメントツール(Sphinxとablog)を使用して作られています。
このツールは、PCのローカル環境で原稿ファイルからHTMLを出力する、いわゆる静的サイトジェネレータのようなものです。
ablogの場合は、ドキュメントルートディレクトリの中に _website というディレクトリを作ってそこにHTMLが出力されます。もっと具体的には、 _website/post というディレクトリに投稿ごとにサブディレクトリを作って、各ディレクトリにindex.htmlを配置します。
ということは、このディレクトリのファイルの一覧を取得して、プロトコルから始まるサイトのURLを付加して、sitemap.txtに書き出せば良いわけです。
というわけで、こんなスクリプトを作ってみました。
import os
import os.path
import re
# ファイル名を取得する
UrlLocEntry = []
for dirpath, dirname, filename in os.walk('.\\_website\\post'):
for f in filename:
UrlLocEntry.append(os.path.join(dirpath, f))
# ファイル名をURLに書き換える
UrlLocModifiedEntry = []
for entry in UrlLocEntry:
replaced = re.sub('\\\\', '/', entry)
replaced = re.sub('\./_website', 'ここは適当に書き換えてください', replaced)
UrlLocModifiedEntry.append(replaced + '\n')
# sitemap.txtに出力する
with open('sitemap.txt', mode='wt', encoding='utf-8', newline='\n') as fo:
fo.writelines(UrlLocModifiedEntry)
これを実行すると、sitemap.txtというファイルができあがります。
このsitemap.txtをサーバーにアップロードして、サーチコンソールに読んでもらえば良いわけです。
公開日
広告
設定カテゴリの投稿
- Apache2.4で行ったセキュリティ関係の設定
- CentOS7にgitをインストールする
- CentOS7にsamba 4.8をインストールする
- CentOS7のApacheでDjangoを動かしてみた
- Gitでバージョン管理をしてみた
- LogWatchでログを確認する
- Python3のCGIで日本語を出力する
- Raspberry Piにgitをインストールする
- サイトマップを作る
- プログラムのCPU使用を制限する
- 仮想マシンにCentOS7をインストールしてApache2.4とDjango2.0をセットアップする
- 仮想マシンのCentOS7にLaTeXとGhostScriptとImageMagickをインストール
- 自宅サーバーのGitをリモートリポジトリにする