• 解決済 Eco

    (@eco)


    こちらではいつもお世話になっております。ありがとうございます。

    今、悩んでいることは、表題のとおり「カスタム投稿タイプの投稿のURLに、’.html’をつける」を実現したいのですが、どのようにしたらよいのか分からないということです。

    現在、ブログではない一般サイト(静的、HTML)のリニューアルを行っておりますが、今後の更新のしやすさを考え、カスタム投稿タイプ機能を使って各ページを構築しております。また今回はリニューアルということで、SEO対策の観点からURLを極力変更しない方向で進めております。

    まず、ローカル(XAMPP、WP3.0.3)環境において、Custom Post Permalinksというプラグインを試してみました。パーマリンクにつきましては、パーマリンク設定画面にて”カスタム構造”を選択し、”/%postname%.html”と指定しました。プラグインを有効化するとパーマリンク設定画面にその設定項目が表れ、”.html”のついたURLを実現することができました。
    しかし、本番のWordPress上のパーマリンク設定画面には何も起こらず、”.html”を付記したURLは404エラーとなりました。
    なお、本番環境はPHP4.3.9で、共用ホスティングサーバのため、私自身によるアップグレードは叶いません。

    そこで、プラグインに頼らない方法を模索しようとこちらのフォーラム等を調べてみたのですが、探し方が悪いのか、情報が見つかりませんでした。

    カスタム投稿タイプに”.html”を付記するのは一般的な要望ではないのでしょうか。

    もし、すでに実現されてる方がいらっしゃいましたら、ご教示いただければ大変助かります。どうぞよろしくお願いいたします。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • 1点気になるので確認ですが

    カスタム投稿タイプのときのみ.htmlにするのですか?
    ページや、通常投稿は.htmlにせずに?

    もしそうだとして、ローカルのときはできていたんですよね?

    トピック投稿者 Eco

    (@eco)

    kvexさま

    年末のお忙しいところ、ご返信をありがとうございます!

    言葉が足らず、失礼しました。
    現在の静的HTMLページ構成に則り、カスタム投稿タイプだけでなく、固定ページも”.html”で終わるようにしたいと考えております。今回は社長のブログ(通常投稿)を作成しますが、これは現在の静的HTMLサイトにはないコンテンツなので、.html付でもそうでなくても問題ありません。

    それと、まだ情報漏れがございました。すみません。
    今回の構成でURLに関わるプラグインは、上述の”Custom Post Permalinks”と”.html on PAGES”の二つを導入するつもりでした。しかしながら、本番サーバでは前者は動作せず、後者のみとなっております。

    ローカル環境において、固定ページとカスタム投稿タイプの両方で.htmlで終わるURLは実現しております。また、通常投稿にも.htmlが付記されます。その時の設定は以下のようなものです。

    A)
    パーマリンク設定: カスタム構造に”/%postname%.html”
    プラグイン: Custom Post Permalinks、.html on PAGES

    B)
    パーマリンク設定: カスタム構造に”/%category%/%postname%.html”
    プラグインはCustom Post Permalinks、.html on PAGES

    どちらかのプラグインを無効にすると、無効にしたプラグインに応じて、固定ページかカスタム投稿の.html付URLが404になりました。

    ところが、本番サーバでは”Custom Post Permalinks”が動作しません。よって、カスタム投稿タイプについてはパーマリンク設定を変えようと何をしようと、.html付URLが実現できずにいます。

    私にとってはかなり複雑な問題で、上の説明で足りるかも定かではありませんが、kvexさまのお知恵を拝借できれば大変ありがたいです。

    どうぞよろしくお願いいたします。

    ごめんなさい;;
    プラグインでの実現は、確認してみたのですが、それ以外だとなかなかうまくいきませんでした。
    htaccessのリライトでもちょっと複雑になってきそうな気がして。

    詳しい方の回答を期待してください。申し訳ございません;;

    ところで、本番環境がPHP4.3.9ということですが、サポート終了したPHPなのでちょっと残念な仕様ですね。

    トピック投稿者 Eco

    (@eco)

    kvexさま

    ご自身の環境で実際に試してくださったのですね!恐縮というか…本当にありがとうございます!!

    kvexさまの環境でもうまくいかなかったのですね。どうか謝らないでください。それが分かっただけでも、私にとっては大きな助けですから。。。

    今回リニューアルを依頼されたサイトは、現状、GoogleとYahooの検索において、そこそこのランキングを獲得しております。会社が小規模なだけに、SEOのランキングは唯一の広告ともいえます。それで.htmlを残したURLを引き継ごうを考えたのですが、残念ながら今回の環境ではちょっと難しそうです。

    PHP4については、私もちょっと残念な仕様のホスティングサーバだと思いました。静的HTMLサイトの運営なら問題ありませんが、WordPressなどのアプリケーションにはちょっと向かなかったなと。つい最近サーバの更新を行われたことから、サーバ会社を変えるということは提案しづらかったのですが、ちょっと強引にでも提案すべきでした。(その意味では今回の問題は私の判断ミスでもありますので、とても悔しいです…)

    結論として、301リダイレクトと、プラグイン”All in one SEO pack”を使うなどして対処するしかなさそうです。どこまでランキングが下がり、どれくらいで回復できるか分かりませんが、やってみます。

    kvexさまには大変にお世話になりました。まさか大晦日にもお返事をいただけるとは思ってもみませんでした。どうか良いお年をお迎えください。
    また、このトピックがどなたかのお役に立ちますように。

    トピック投稿者 Eco

    (@eco)

    思いがけない形で解決いたしましたので、ご報告いたします。

    “Custom Post Permalinks”の作者が、PHP4に対応したバージョンをリリースしてくれました!
    http://www.johnpbloch.com/plugins/custom-post-permalinks/

    昨年末にそのことについてフォーラムにて作者さん宛に質問を書き込んだのですが、失礼ながらすっかり忘れておりました。

    早速試した所、固定ページとカスタム投稿タイプ、そして通常投稿に.htmlが付記され、404ではなく正常に表示されました。

    「プラグインでないと実現はかなり難しい」ということがkvexさまのおかげで判明したので、クライアントへはそれを元に説明できるかなと考えておりましたが、何とか現状のファイル名を維持できそうです。

    改めて、kvex様には御礼申し上げます。
    そして、本件がどなたかのお役に立ちますように。

    なるほど、良かったですね^^
    ただ、WordPress本体やプラグインのバージョンアップが追随できない可能性もあるので、早い段階でサーバ環境をなんとかするように持って行ったほうが良いでしょうね。

    トピック投稿者 Eco

    (@eco)

    kvexさま

    そうですね、おっしゃるとおりです。。。

    プラグインの作者さんは、去年の11月の時点で「WordPressがPHP4をサポートしを止めるまでは、このプラグインも(PHP4を)サポートすべきだな」と言ってますので、このバージョンを最後にPHP4のサポートはしなくなる可能性も大いにあるかと思われます。

    まずサーバ会社にお願いを上げてみますが、サーバ会社の移転も視野に入れておきたいと思います。これまでの静的HTMLサイトでは問題ないのですが、今後のWordPressをはじめとする展開において、障害がないとは言い切れないような感じなので。。。

    最後の最後まで、kvexさまには大変お世話になりました。本当に感謝しております。(kvexさまのサイトも参考にさせていただいております)ありがとうございました。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「カスタム投稿タイプのURLに’.html’を付けるには?」には新たに返信することはできません。