SphinxとGitHub Pagesで公開したページをGoogleの検索で表示させる

SphinxでGitHub Pagesに公開する方法論はWebに多く有るが,GitHub Pagesで公開した後に検索でヒットさせる方法を書いてあるページは少なかったので,ここで紹介.Google Search Console, Google Analyticsへの登録の仕方の説明になる.この記事の目的としては,OSS開発をした人が円滑にそのOSSの公開を検索でヒットさせるところまでの一助になることである.

Google Search Consoleに登録

まず,前提してGitHub Pagesにサイトを公開して,urlが固まっていることが挙げられる.

Googleの検索にヒットさせるためには,Google Search Consoleに登録する方法が一番早い.そのため次の2ステップが必要になる.
・sitemap.xml を生成して配置.
・Search Console からダウンロード出来る googleXXXX.htmlを配置する.

sitemap.xmlの生成に関しては,sphinx-sitemap のパッケージをインストールして,conf.py の extensionsに “sphinx_sitemap” を追加する.
また,適当な場所に html_baseurl = "https://example.com" を書く.特に,GitHub Pagesを利用する人は html_baseurl = https://<username>.github.io/<package_name> となる.

参考サイトはこちら.
How to add a sitemap to the Sphinx project?

何故か初期の際にはsitemap.xmlをセットしても,Search Consoleに認識されない場合があるので,待つ必要がある.不安な場合は以下サイトより,sitemapが正しく動作しているか確認する.
XML Sitemap Validator

ただし,sphinx-sitemapと複数階層が有る場合のsitemapが正確に生成されていないので,XML-Sitemaps.com Sitemap Generator でsitemap作成して置いておくのでも良いのかもしれない.手順は増えるが確実.

二つ目のSearch Consoleからダウンロードしたファイルは,sphinxでhtmlなどが出力される階層におけばよい.

これでSearch Consoleへの登録が完了した.あとはクロールが来るまで待つ.

注 : クロールが来たとしてもDocumentの質(中身)がある程度入っていないとindexされてくれない.そのためある程度,内容を膨らませてDocumentを書いて置く必要がある.僕の場合はGalleryをDocumentに追加したらインデックスしてくれた.

Google Analyticsへの登録

以上で検索はヒットされるようになるが,Search Consoleに登録したならばAnalyticsへの登録も基本するのでその方法も紹介しておく.

SphinxはJinja2というテンプレートエンジンを用いてHTMLを出力しており,ヘッダーの情報はlayout.htmlを用いている.そこで,元になっているlayout.htmlをオーバーライトしにいく.

以下の内容を,conf.pyと同階層にある_templatesというディレクトリの中に,layout.htmlというファイルを新規作成して記述する.

{%- extends "!layout.html" %}
{{ super() }}
{%- block extrahead %}

{% endblock %}

これでhtmlに変換するとヘッダーにGoogle Analyticsのコードが入ってくれる.

参考urlはこちら.
・Google Analyticsのタグを埋め込む,Sphinxを使ってみよう.

以上.

———-雑感(`・ω・´)———-
以下のようなサイトもあったけど,これは jekyllを用いた方法になっているかと思う.SphinxはJekyllで上手く出力することが出来ないので(.nojekyllを追加していることかと思う),Sphinx側の設定でサイトマップの生成やAnalyticsのコードの埋め込みをした.
docs から作った GitHub Pages の sitemap 生成と Search Console への登録

コメント

タイトルとURLをコピーしました