WordPressの機能を使いつつLPを作る上でハマったこと

最近ランディングページ専門業者みたいになってるわたくしなのですが、先日WordPressの機能(Contactform7)を使いながらレスポンシブLPを作ったら壮大にハマったのでメモしておきます。

<?php require('相対パス/wp-blog-header.php'); ?>

通常はHTMLファイルに偽装したPHPファイルに上記のコードを読み込むことでWPの機能が使えるようになります。

プラグインとの競合

通常、LPとWordPressで組まれたサイトの場合、CSS・JSは違うものを使うと思います。

<? php
	remove_action( 'wp_head', 'wp_enqueue_scripts', 9 );
?>

上のコードを入れればWPのスタイル、JSを除去できるのですが、ハマりました。

既存サイトがPCサイト向けのデザインの場合、スマホのために無理やりレスポンシブにするのではなく、Multi Device Switcherというプラグインを用いて別テーマで出力しています。こいつでハマりました。
なぜかPCでもスマホでもフッターにスタイルとJSが埋め込みされてしまいました。

Multi Device Switcherの除外設定

参考:特定のURL、固定ページのみ「theme」を切り替える

上記設定で、フッターにスタイルおよびJSが埋め込みされなくなります。多分上記解決コードがなかったら諦めてCGIフォーム使ってたと思います。

テーマ切り替えスイッチを使用している場合は表示されてしまうので、display:noneで非表示にしときましょう。

表示されていてもステータスコードは404という謎

普通LP作ったら広告出稿すると思うんですが、ブラウザでは表示されているのにステータスコードが404でした。そのため広告が不承認になってしまいてんやわんやでした。

{<1>}

URLはドメイン/lpのような感じでした。

解決策

index.htmlをつけたら大丈夫だった。

URLがドメイン/lpのような感じだったので、おそらくWordPress側でデータが無いため404を返していたのだと思います。index.htmlはURL上すっきりしないのであまり好みじゃないのですが、そんなことも行ってられないのでこれで対応しました。
これによりちゃんと広告が承認されました。

まとめ

WPの機能におんぶにだっこでもいいのですが、それにより伴う時間のロスもそれなりに発生します。主にプラグインですが。。。
このエントリが誰かのためになることを祈ります。(多分未来の自分)