edit

PukiWiki静的URL改造

→こちらの記事が最新です。
http://tfs.s41.xrea.com/nucleus/item/48

→cubic9さんがパッチ等の情報を提供されています。
nucleusに乗り換えてメンテしていないので、こちらを参考にしてください。
http://cubic9.com/PukiWiki/%B2%FE%C2%A4/%C0%C5%C5%AA%A5%B3%A5%F3%A5%C6%A5%F3%A5%C4%A4%CB%B5%B6%C1%F5/%A5%DA%A1%BC%A5%B8/

参考リンク

SEO-URL 動的WebページとSEO

通常、PukiWikiのURLは

http://xxx.yyy.zz/PukiWiki.php?(キーワード)

のようなURLとなり、google等でロボットから検索されにくいようです。

SEO(Search Engine Optimize)的には

http://xxx.yyy.zz/(キーワード).html

のようなURLの方がサーチエンジンに登録されやすいようです。
ここでは、Apacheのプラグインmod_rewriteを使って、URLを静的なものに書き換えます。

.htaccessの設定

以下の.htaccessを作成して、~/public_html以下に置きます。

DirectoryIndex index.php pukiwiki.php
LayoutIgnoreURI *
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9]*)\.html(#.*)?$ /pukiwiki.php?plugin=pgid&id=$1$2

これで、上記のようにURLを静的なものに書き換えることができます。

pukiwikiソースの変更

上記で静的URLでアクセスできるようになるのですが、ページを作成する際に括弧くくりでリンクを作成することができなくなるため不便です。
ページ内のURLはロボットとに見られるため、SEOで有効にするためには、つねにフルパスでリンクを張る必要があります。

以下のようにソースを修正すると、上記mod_rewriteに対応したリンクを作成することができます。

例)

[[pukiwikifoo]]
→このブラケットネームが以下のようにhtml展開されます。
http://xx.yy.com/pukiwikifoo.html

上記mod_rewriteとあわせると、ロボットには、pukiwikifoo.htmlページがあるかのように見えます。

  • 変更ソース:make_link.php
変更箇所:486行付近の以下のクラス内

// BracketName
class Link_bracketname extends Link

toString()メソッドがこのようになっているので、

function toString()
{

	return make_pagelink(
		$this->name,
		$this->alias,
		$this->anchor,
		$this->page
	);
}

このように書き換えます。

function toString()
{
	$link_result =  make_pagelink(
		$this->name,
		$this->alias,
		$this->anchor,
		$this->page
	);
                 //ここで、作成したURLの変換を行う。
	$link_result = preg_replace("/pukiwiki\.php\?(.*)\"
                           title=/", "$1.html\" title=", $link_result);
	return $link_result ;

}

それほどテストをしていないので改造は自己責任でお願いします。

参考リンク

http://terai.s55.xrea.com/PukiWiki.html


差分 添付 改名   最終更新 バックアップ 最終更新のRSS
Last-modified: Sat, 17 Dec 2005 11:44:10 JST (2233d)
アクセス解析