pelicanにrobots.txtを追加する

スポンサード リンク

Tips n Tricks · getpelican/pelican Wiki にあるように,静的なファイルとしてrobots.txtを追加する方法は以下の2つがある。

  • Makefileを編集する
  • pelicanconf.pyを編集する

複数の pelicanconf.py を管理している都合上,今回は Makefile を編集することにした。

まず content ディレクトリ以下に extra ディレクトリを作成して robots.txt を設置する。 今回は robots.txt の中身は次のようにした。

User-agent: *
Disallow:

Sitemap: http://blog.calcurio.com/sitemap.xml

次に,

if test -d $(BASEDIR)/extra; then cp $(BASEDIR)/extra/* $(OUTPUTDIR)/; fi

の一行を html , regenerate , republish , publish ターゲット等に挿入する。 その他のターゲットは依存関係で解決されているため,変更する必要はない。 私の場合は以下のようにMakefileを編集した。

html:
    $(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) --cache-path $(CACHEDIR) $(PELICANOPTS)
    if test -d $(BASEDIR)/$(PREFIX)_content/extra; then cp $(BASEDIR)/$(PREFIX)_content/extra/* $(OUTPUTDIR)/; fi

regenerate:
    $(PELICAN) -r $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) --cache-path $(CACHEDIR) $(PELICANOPTS)
    if test -d $(BASEDIR)/$(PREFIX)_content/extra; then cp $(BASEDIR)/$(PREFIX)_content/extra/* $(OUTPUTDIR)/; fi

republish:
    $(PELICAN) -r $(INPUTDIR) -o $(OUTPUTDIR) -s $(PUBLISHCONF) --cache-path $(CACHEDIR) $(PELICANOPTS)
    if test -d $(BASEDIR)/$(PREFIX)_content/extra; then cp $(BASEDIR)/$(PREFIX)_content/extra/* $(OUTPUTDIR)/; fi

publish:
    $(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(PUBLISHCONF) --cache-path $(CACHEDIR) $(PELICANOPTS)
    if test -d $(BASEDIR)/$(PREFIX)_content/extra; then cp $(BASEDIR)/$(PREFIX)_content/extra/* $(OUTPUTDIR)/; fi

Comments !

social