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 への登録
コメント