▼Menu

PHPを使って英語と日本語のページ同士を自動リンク

英語のページを作ったら、日本語のページと英語の該当ページとを相互にリンクさせてみましょう。そうすれば、使い勝手が良くなるし、SEO上も有利になると思います。これをPHPを使って自動的に行わせてみました。


広告

日本語ページと英語ページのディレクトリ配置

英語のページを作る時、後でわかりやすく、使い勝手が良いように、ディレクトリ配置を考えて作りました。つまり英語ページのURLは、日本語ページのドメインのすぐ後ろに「en/」を追加したものとしました。

単純に リンク楽天 を作成するだけなら、日本語ページにそのページを英語にしたページへのリンクを作成したり、その逆に英語のページにそのページと内容が同じ日本語のページへのリンクを作成するだけです。これでは、各ページをその都度変更しなければならず、手間が大変です。

そこで、PHPを使ってサイド部分に共通で使えるリンクを作成することにしました。なお、このサイド部は外部ファイルにしてPHPインクルードしています。

日本語ページに同一内容の英語ページへのリンクを設定する

次のように、日本語ページにそのページと同一内容の英語ページへのリンクを設定すると同時に、もし同一内容の英語ページがサーバー上に存在しなかったら、その日本語ページを英語にウェブ翻訳するページへのリンクをも設定しました。

<?php
$jp_name=$_SERVER['SCRIPT_NAME'];
$en_name='/en'.$jp_name;
if (file_exists('..'.$en_name) or file_exists('.'.$en_name)) {
echo "|<a href=\"http://hogehoge.jp${en_name}\" title=\"このページと同一内容の英語ページ\">English version</a>\n";
}
else {
echo "|<a href=\"http://translate.google.com/translate?hl=en&amp;sl=ja&amp;tl=en&amp;u=http://hogehoge.jp${jp_name}\" title=\"このページを英語に翻訳\" rel=\"external nofollow\">Translate to English</a>\n";
}
?>

ここで、 $_SERVER['SCRIPT_NAME'] は、そのページのURLからドメイン名までを削除したものです。つまり、URLが http://hogehoge.jp/abc/nihongo.php なら /abc/nihongo.php となります。

英語のURLにするにはこれに、 /en を追加してやります。

英語ページに同一内容の日本語ページへのリンクを設定する

英語ページからそのページと同一内容の日本語のページへのリンクを設定しました。該当ファイルがサーバー上に存在していれば、そのページへのリンクを表示するようにしました。もしファイルが存在しなければ何もしません。

<?php
$jp_name=substr($_SERVER['SCRIPT_NAME'],3);
if (file_exists('..'.$jp_name)) {
echo "|<a href=\"http://hogehoge.jp${jp_name}\" title=\"Japanese Page of the same contents\">Japanese version</a>\n";
}
?>

ここで、 substr() の機能を使って、 $_SERVER['SCRIPT_NAME'] から /en を取り除いています。そして、ひとつ上のディレクトリーに上がってファイルが存在するかどうかを確認しています。

PHPの substr() 機能

substr() の機能は文字列の一部分を取り出すことです。

substr(string, start, [length])

substr() は文字列 string の、start で指定した位置から length バイト分の文字列を取り出して返します。 start が正の場合、取り出される文字列は、 string の 0 から数えて start番目から始まる文字列となります。

start が負の場合、取り出される文字列は、 stringの後ろから数えて start番目から始まる文字列となります。

スポンサーリンク

英語と日本語のページ同士の自動リンク結果

日本語ページから英語ページへの移動とその逆の移動はとても便利です。SEOでも日本語で人気のあるページは英語でも人気のあるページになるはずです。

 
Main Menu |Mobile |Top Page |電気、電器 |工夫と製作 |アンテナ |デジタル放送 |修理技術1 |修理技術2 |修理過去ログ |電気柵 |生活情報 |健康情報 |名所旧跡 |ネット環境 |WordPress |写真集 |English Top
リンク集 |Sitemap |お問合せ |Pポリシー |修理掲示板
ネット環境 Menu |BBS迷惑書込 |迷惑Mail |Mail送信規制 |nPOP使い方 |BBSログ変換 |過去ログ表示 |MailCGI改造 |HPフォルダ構造 |サーバ引越 |英語サイト作り方 |二ヶ国語相互リンク |携帯サイト作り方 |XHTML Basic |XHTML Mobile P |携帯アクセス制御 |PC携帯両用サイト |サブドメイン同期 |XHTMLに書換 |TEXTメニュー |新ウィンドウに表示1 |新ウィンドウに表示2 |外部トラッキングコード |メニュー配置 |HTML一括変更 |ファイル取込 |ヘッドタグ共通化 |外部CSS |CSSコマンド |印刷用CSS |標準,互換モード |段組 |表示の速いHP |HP横幅 |HP背景 |HP文字 |HP見出し |HPタイトル |画像使い方 |altとtitle属性 |アクセスアップ |サイトマップ作成 |RSS配信 |自ドメインRSS |RSS使い方 |htaccess転送 |パラメータ削除 |wwwの有無と統一 |アクセス制限 |Adsenseクリック規制 |Adsense表示規制 |Google広告配置 |チャネルの設定 |ブログ人に広告配置 |ランダム画像切替 |デザイン自動切替 |フォルダ名取得 |Google+1ボタン |いいねボタン |Facebookのコメント |HPビルダ起動時間 |Expression Web |複数パソコンHP更新 |FFFTP使い方 |文字大きさ |モニタの選び方 |タッピング |ページ内検索 |ショートカットキー |Thumbs.db |日本語FEP |上手な日本語変換 |データ伝送 |MTUとMSS
山里の素人農業 |Daii-Wiki |私のブログ |Car Evolution |Tomy's HP |ページの先頭
 
 
as76.net
RSS
 
楽天市場
広告
Valid XHTML 1.0
Only OGP error
更新日:2011/12/12