技術的SEOチェックリスト:実際に順位を動かす12の要因(2026)
ほとんどのSEOチェックリストは無関係な項目で膨れ上がっています。ここでは、オーガニック順位に直接的かつ測定可能な影響を与える12の技術的要因と、カスタムPHPサイトでそれぞれを正確に実装する方法を紹介します。これらをマスターすれば、技術的SEOの問題の90%を解決できます。
1. クローラビリティ – robots.txtを正しく設定する
robots.txtは、検索エンジンにクロールするURLと無視するURLを指示します。誤って設定すると、サイトのセクション全体をブロックする可能性があります。正しく設定すると、重要なページのためにクロール予算を節約できます。
PHPサイトのベストプラクティスrobots.txt:
<code>User-agent: *<br>Allow: /<br>Disallow: /admin/<br>Disallow: /*?sort=<br>Disallow: /*?filter=<br>Disallow: /temp/<br>Sitemap: https://built2winweb.com/sitemap.xml</code>
Key rules:
- パラメータベースのURL(
?sort=、?filter=)をブロックして重複コンテンツを防ぎます。 - 管理エリア(
/admin/)をブロックします – クロール予算を浪費します。 - 常に
Sitemapディレクティブを含めます。
テスト: Google Search Consoleの「robots.txtテスター」を使用します。
2. XMLサイトマップ – 動的で常に最新
静的サイトマップは古くなります。データベースをクエリしてXMLを出力する動的なsitemap.phpを生成します。次に、/sitemap.xmlをこのスクリプトに書き換えます。
動的サイトマップの例:
<code><?php<br>header('Content-Type: application/xml');<br>echo '<?xml version="1.0" encoding="UTF-8"?>';<br>echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';<br>$urls = getAllSiteUrls(); // あなたの関数<br>foreach ($urls as $url) {<br> echo '<url>' .<br> '<loc>' . htmlspecialchars($url['loc']) . '</loc>' .<br> '<lastmod>' . $url['lastmod'] . '</lastmod>' .<br> '<changefreq>weekly</changefreq>' .<br> '<priority>' . $url['priority'] . '</priority>' .<br> '</url>';<br>}<br>echo '</urlset>';<br>?></code>
.htaccessに追加:RewriteRule ^sitemap\.xml$ sitemap.php [L]
Google Search Console → サイトマップからサイトマップを送信します。
3. カノニカルタグ – 重複コンテンツを排除
カノニカルタグは、どのバージョンのページがマスターかをGoogleに伝えます。ページネーションされたページ、フィルタリングされた商品リスト、複数のパスで到達可能なURLで使用します。
PHPでの実装:
<code><link rel="canonical" href="https://<?= $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>"></code>
ページネーションシリーズ(例:ブログページ2)の場合、メインページを指す:
<code>if ($page > 1) {<br> echo '<link rel="canonical" href="https://example.com/blog/">';<br>}</code>
4. 構造化データ – 最低限JSON‑LD
最低限、以下を実装します:
- Organization ホームページ(ロゴ、ソーシャルプロファイルを含む)。
- LocalBusiness お問い合わせページ(住所、電話番号、営業時間)。
- Article ブログ投稿(著者、公開日、見出し)。
リッチリザルトテストを使用して検証します。コード例は完全なスキーマガイドをご覧ください。
5. モバイルファーストデザイン – 「レスポンシブ」を超えて
Googleは最初にサイトのモバイルバージョンをインデックスします。レスポンシブデザインは基本ですが、さらに以下を確認します:
<meta name="viewport" content="width=device-width, initial-scale=1">- タップターゲット(ボタン、リンク)は少なくとも44x44px。
- 水平スクロールがないこと(Chrome DevTools → デバイスツールバー → 任意のiPhoneでテスト)。
- 自動ズームを避けるためフォントサイズは少なくとも16px。
テスト: Googleのモバイルフレンドリーテストツール。
6. HTTPS + セキュリティヘッダー – 信頼とランキング
HTTPSは軽量なランキングシグナルであり、信頼に不可欠です。.htaccessでHTTPSを強制します:
<code>RewriteCond %{HTTPS} off<br>RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]</code>
これらのセキュリティヘッダーを.htaccessに追加します:
<code>Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"<br>Header set X-Frame-Options "SAMEORIGIN"<br>Header set X-Content-Type-Options "nosniff"</code>
7. Core Web Vitals – LCP、INP、CLS
Googleのページ体験シグナルはランキング要素です。「良好」ステータスを達成します:
- LCP(Largest Contentful Paint)< 2.5秒 – ヒーロー画像をプリロード、クリティカルCSSをインライン化、CDNを使用。
- INP(Interaction to Next Paint)< 200ミリ秒 – 長いJavaScriptタスクを分割、サードパーティスクリプトを遅延。
- CLS(Cumulative Layout Shift)< 0.1 – すべての画像に明示的な幅/高さを追加、`font-display: swap`を使用。
Google Search Console → Core Web Vitalsレポートで監視します。
8. 内部リンク構造 – 権限を深く伝達する
内部リンクはサイト全体にリンクジュースを分配します。すべてのページはホームページから3クリック以内で到達可能である必要があります。
ベストプラクティス:
- 説明的なアンカーテキストを使用します(例:「クリック here」ではなく「カスタムPHP Eコマース開発」)。
- 権限の高いページ(ホームページ、主要サービスページ)からより深いコンテンツへリンクします。
- ブログ記事に「関連記事」セクションを追加します。
- ナビゲーションだけでなく、本文内のコンテキストリンクを含めます。
監査: Screaming Frog → 内部タブを使用して孤立ページ(内部リンクがゼロのページ)を確認します。
9. リンク切れなし(404) – クロール予算の浪費者
404エラーはクロール予算を浪費し、ユーザーを苛立たせます。毎月監査を実施します:
- Screaming Frogでサイトをクロールします(500 URLまで無料)。
- 「クライアントエラー(4xx)」でフィルタリングします。
- リンク切れごとに、URLを修正するか、関連ページへの301リダイレクトを実装します。
Google Search Console → カバレッジ → エラーも監視します。
10. ページネーション – rel="prev"とrel="next"を使用
ページネーションシリーズ(例:ブログページ1,2,3)の場合、これらのリンクタグを追加してインデックスを統合します。
<code><link rel="prev" href="https://example.com/blog/page/2/"><br><link rel="next" href="https://example.com/blog/page/4/"></code>
これにより、ページ2,3,4がシリーズの一部であることがGoogleに伝わり、重複コンテンツの問題を防ぎ、リンクジュースをメインページに統合します。
11. 多言語/多地域サイトのHreflang
異なる国や言語をターゲットにしている場合は、hreflangアノテーションを使用して、国際的な検索結果での重複コンテンツを回避します。
<code><link rel="alternate" hreflang="en-us" href="https://built2winweb.com/"><br><link rel="alternate" hreflang="en-gb" href="https://built2winweb.com/uk/"><br><link rel="alternate" hreflang="x-default" href="https://built2winweb.com/"></code>
ページの言語/地域に基づいて、PHPの<head>で動的に実装します。
12. ログファイル分析 – Googlebotの動作を理解する
サーバーログは、GooglebotがどのURLをどの頻度でクロールし、どのURLがエラーを返すかを正確に示します。これは最も活用されていない技術的SEOツールです。
ログの分析方法(コマンドライン):
<code># Googlebotの訪問を抽出<br>grep "Googlebot" /var/log/apache2/access.log<br><br># URLごとのヒット数をカウント<br>grep "Googlebot" access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head -20</code>
以下を探します:
- 低価値ページ(例:パラメータURL、管理ページ)でのクロール予算の浪費。robots.txtでブロックします。
- 404エラー – リダイレクトを修正します。
- クロールされないページ – 内部リンクされ、サイトマップに含まれていることを確認します。
すべてをまとめる – PHPサイト監査スクリプト
これらの要因のいくつかを自動的にチェックする単純なPHPスクリプトを作成できます:
<code><?php<br>// 簡単な技術的SEOチェック<br>$issues = [];<br><br>if (empty($_SERVER['HTTPS'])) $issues[] = 'HTTPSが強制されていません';<br>$homepage = file_get_contents('https://built2winweb.com/');<br>if (!str_contains($homepage, 'rel="canonical"')) $issues[] = 'ホームページにカノニカルがありません';<br>if (!str_contains($homepage, 'application/ld+json')) $issues[] = '構造化データがありません';<br>// ... その他のチェック<br><br>if (empty($issues)) echo '✅ すべての技術チェックに合格しました!';<br>else echo '⚠️ 問題が見つかりました:' . implode(', ', $issues);<br>?></code>
事例研究:これら12の要因を修正してトラフィックを67%増加させた方法
あるB2Bソフトウェア企業はカスタムPHPサイトを持っていましたが、技術的SEOを無視していました。彼らの問題:
- XMLサイトマップがなく、Googleは40%のページを見逃していました。
- `?sort=`パラメータによる重複コンテンツ。
- ページネーションされたブログページにカノニカルタグがありませんでした。
- JSON‑LDなし – リッチスニペットゼロ。
- サイズ指定のない画像によるモバイルでのCLS 0.27。
実施したアクション:
- 動的サイトマップを実装し、GSCに送信。
- パラメータURLをブロックするrobots.txtを追加。
- サイト全体にカノニカルタグを追加。
- LocalBusinessとArticleスキーマを追加。
- 画像に明示的な幅/高さを設定し、クリティカルCSSをインライン化。
90日後の結果:
- インデックスされたページ:340 → 1,200(サイトマップ+クローラビリティ)。
- オーガニックトラフィック:67%増加。
- ブランドSERPのクリック率:22%増加(スキーマによる)。
- モバイルでのCore Web Vitals合格 – 以前は不良。
追加コンテンツやバックリンクはなし – 純粋な技術的修正。
技術的SEO監査 – サイトを改善する準備はできましたか?
私はカスタムPHPサイトの包括的な技術的SEO監査を実施します。クローラビリティ、インデックス化、構造化データ、Core Web Vitals、ログファイル分析の問題を特定し、修正します。
サイトの無料で義務のない技術的SEO評価を受けてください。
実際のクライアントプロジェクトからのデータ。個々の結果は、サイトサイズや既存の問題によって異なる場合があります。