動的ページのSEO対策

0
    テクニカルな話題です。
    先日のブログ記事「トップページに最新ブログを表示」には、何件か反響をいただきました。
    受注にはつながっていないのですが・・(^^;

    この件について、少しテクニカルなお話を。

    現在、CGI作成ドットコムのトップページは
    index.php
    です。

    RSSを読み込み、リストを編集してベースとなるHTMLに埋め込んで表示する、
    という処理が必要なので、
    PHPで記述してあるわけです。

    ところが、○○○.phpというファイル名は、
    ○○○.htmlというファイル名に比べ、
    SEO的に不利と言われています。

    Googleの公式な発表があったわけではないので、
    単なる専門家(←これもアヤシイですが)の予想なのですが、
    多くのウェブ関連雑誌の記事などには
    この「○○○.phpはSEOに不利」ということが書かれています。

    ○○○.cgiや、
    最近あまり見かけなくなった
    ○○○.shtml(SSIを使ったHTML)、
    ○○○.asp、
    ○○○.jsp、
    ○○○.cfm(ColdFusion)
    などでも同じく不利と思われます。

    ワシ個人の体験から言いますと、
    ○○○.php?a=XXXX&b=XXXX&c=XXX・・・
    などのようにクエリが続き、しかもパラメータが複数ある場合には、
    確かにSEO的に効果が上がらないように感じますが、
    ○○○.php単体でクエリが続かないURLでは、
    さほどSEO的に効果が上がらない、という印象を持ったことはありません。

    しかし、肝心のトップページだけは
    index.html
    としたい、という気持ちもあります。

    また、この機能を既存のウェブに設置する場合、
    これまでのindex.htmlからindex.phpに替えたくない、
    というご要望もあることでしょう。
    (リンク修正等も大変ですしね)

    これは、Apacheのhttpd.confを編集することによって、
    PHPプログラムを含むソースでもhtmlとして扱うことができるのですが、
    共有レンタルサーバの場合はhttpd.confの編集ができない場合も
    よくあります。
    またhttpd.confの修正はセキュリティ上、あまり推奨されていません。
    (このあたりの事情は、私はあまり詳しくありません)

    そこで、打開策を考えました。
    現在のindex.phpでは、次のように処理しています。

    1).ベースHTMLを読み込み(ブログ記事は無い)

    2).RSS読み込み、編集

    3).1)に2)の内容を埋め込み、表示

    この処理をイッキにやってしまうものだったのですが、
    打開策では、次のように処理します。

    1).index.htmlの元となるベースHTMLには1x1pxのダミー画像を設置、
    このダミー画像を<img src="hoge.php">とする。
    (ファイル名は任意)
    つまり、index.htmlが表示されるたびにhoge.phpが起動する

    2).hoge.phpはベースHTMLを読み込み(ブログ記事は無い)

    3).hoge.phpはRSSを読み込み、編集

    4).hoge.phpは2)に3)を埋め込んだHTMLを、index.htmlとして保存する

    5)hoge.phpは、何食わぬ顔をして1x1pxのダミー画像を表示する

    こうすれば、index.htmlを表示するたびに、
    最新のブログ内容を埋め込んだindex.htmlを作り変えるわけです。

    ただし、この方法にもデメリットがあります。

    1.index.phpの方法と比べ、作成に多くの手間がかかる
    (上記をご覧くださればおわかりになりますね)

    2.最新のブログ内容に反映されるのが、
    index.htmlを一回表示する分だけ遅れる
    ・・これが一番イタイですね。
    つまりindex.htmlを表示すると同時に最新のブログ内容を盛り込むので、
    タイミングが1回の表示分、遅れるのです。
    ブログを更新しても、その後はじめてindex.htmlを見た人は、
    古いままのブログ情報を盛り込んだindex.htmlを見ることになります

    3.一部のアクセス解析ツールに悪影響が出る
    これは理由がわかりませんが、そのような情報を聞いたことがあります。
    でもこれはindex.php方式を採った場合にも同じことが起きる可能性があります。

    もうひとつ大事な発見。
    実際にこの「打開策」を作ってみたのですが、
    何故かhoge.phpでは、
    class形式のライブラリをrequireすることができなかったのです。

    実際に現在index.phpで使用しているライブラリだったので、
    コーディングミスや、PHPのバージョンによるものではないと思うのですが、
    何故か画像を表示するPHPプログラムではクラス形式が使えないようなのです。
    何か使い方を間違えているのでしょうか・・。

    もし原因や対策をご存知の方がいらっしゃいましたら、
    教えてください。

    なお、今回作った「打開策」のindex.htmlは、動作確認はしたものの、
    今は設置していません。

    しばらくしたらindex.htmlとindex.phpを比較してみて、
    SEOの結果をお知らせしたいと思います。

    コメント
    この問題は動的ページというよりも同じページへのリクエストが複数のURLに分散されるためにSEO的に不利ということですね。
    たとえば

    http://www.cgi-sakusei.com/

    http://www.cgi-sakusei.com/index.php

    しかし、ほとんど都市伝説に近い内容なのであまり気になさらない方がいいと思いますが…

    どうしても気になる場合は
    .htaccessが使える場合は問題ないと思いますが。
    使えない場合はPHPスクリプトに埋め込むしかないでしょうね。

    SEOはそんなところでほとんど影響しないと認識しています。
    • toku
    • 2007/11/28 2:44 PM
    うううーーーー、tokuさん。
    何言っているのか、全ーー然わかんなーい!
    (^_^;)
    • more
    • 2007/11/29 11:27 AM
    >tokuさん
    確かに、パラメータの無い動的ページでは、
    ほとんど影響は無いと思います。

    >more先生
    確かに、難しいですね〜。
    私も混乱しています・・。
    • コージ
    • 2007/11/29 11:57 AM
    more先生>>

    アハッ!先生そんなこと分からなくていいですよぉ〜。ツールレベルの話ですから。(^^;)

    コージさん>>

    SEOについては、私も、諸先輩方と只今、勉強中です。
    まだわからないことも多いです。
    実際のサイトで検証し、実績を上げるしかないですね。
    また、いろいろ意見交換いたしましょう!
    • toku
    • 2007/11/29 1:07 PM
    コメントする








       
    この記事のトラックバックURL
    トラックバック

    calendar

    S M T W T F S
    1234567
    891011121314
    15161718192021
    22232425262728
    293031    
    << October 2017 >>

    selected entries

    categories

    archives

    recent comment

    recommend

    過去問で効率的に突破する! 「中小企業診断士試験」勉強法 (DO BOOKS)
    過去問で効率的に突破する! 「中小企業診断士試験」勉強法 (DO BOOKS) (JUGEMレビュー »)
    斎尾裕史
    何をどう勉強するかを、具体的に知るための本。受験者必読。

    links

    profile

    search this site.

    others

    mobile

    qrcode

    powered

    無料ブログ作成サービス JUGEM