SEO に最適な .htaccess ガイド – 例付き
公開: 2022-09-11
.htaccess ファイルにいくつかの変更を加えた後、Web サイトがオフラインになった可能性があります。 しかし、これは心配する必要はありません。 多くの SEO は、技術的な修正を行ってさらに上を目指そうとすると、この罠に陥ります。
通常、WordPress ダッシュボードから .htaccess ファイルを編集すると、誤った .htaccess ファイルを更新するとダッシュボードからロックアウトされるため、パニック攻撃が発生します。 .htaccess ファイルは、Web サイトの操作を変更できるため、SEO にとっては祝福でもあり呪いでもあります。
Web サイトが Apache Web サーバーで実行されている場合、.htaccess は、パスワード保護から 301 リダイレクト、カスタマイズされたエラー ページまで、すべてに役立ちます。
これは、.htaccess の更新に失敗した後に Web サイトをオンラインに戻すための迅速な解決策を探している場合、または Web サイトの .htaccess の最適化について詳しく知りたい場合に、存在しないと思っていたリソースです。
SEO 担当者が否定的な結果を恐れることなく、自信を持って Web サイトを変更できるように、quick.htaccess の調整とアドバイスについて説明します。
.htaccess とは何か、また Apache Web サーバーを使用する Web マスターにとってそれがいかに役立つかについては、既にご存じでしょう。 ただし、.htaccess を初めて使用する人のために、実装する前に基本を理解できるように説明します。
.htaccess とは何ですか?

.htaccess は、Apache Web サーバー ソフトウェアが読み取りおよび実行して、追加の機能を有効または無効にすることができる構成ファイルです。 .htaccess ファイルは Unix ベースの環境で作成され、ディレクトリ レベルでレンダリングされるため、グローバル Web サーバー設定を上書きし、特定の Web サイト アクセス設定を可能にします。
.htaccess は何の略ですか?
「ハイパーテキスト アクセス」は、.htaccess と略されます。 ディレクトリごとにユーザーのアクセシビリティ機能を調整するためにこのファイルを使用する開発者の間でこのファイルが人気を博した後、このモニカが派生しました。
Apache サーバーの http.config ディレクティブは、ユーザー名とパスワードを持つユーザーのディレクトリへのアクセスを有効にして制限するために .htaccess によって使用されます。 ただし、SEO に関して言えば、.htaccess はさらに大きな役割を果たします。
.htaccess は何に使用されますか?
定期的にさまざまな基準を設定する Web サイトがある場合は、.htaccess を検討してください。
SEO として、.htaccess を使用して Web サーバーに 301 リダイレクトの実行、キャッシュの有効化、HTTP ヘッダーの変更、クロールの制御、URL の SEO フレンドリー化などを命令できます。
.htaccess ファイルはどこにありますか?
.Htaccess はディレクトリ レベルの設定であるため、事実上、Web ディレクトリのすべてのフォルダーに存在します。 .htaccess ファイルは、複数のサブディレクトリ (web サイト) を持つ単一の web ディレクトリがある場合は、ルートディレクトリと各サブフォルダー内にあります。
WordPress を使用している場合は、Yoast プラグイン オプションが .htaccess ファイルにアクセスする最良の方法です。
注意: .htaccess は初心者が試すものではないため、最初にデモ サイトで実行することをお勧めします。 WordPress 管理者からロックアウトされた場合は、Filezilla を使用してルート フォルダーにアクセスする方法を知る必要があります。
WordPress ウェブサイトをお持ちの場合、.htaccess ファイルを変更できるプラグインがいくつかあります。 ほとんどの WordPress ユーザーは Yoast をデフォルトの SEO プラグインとして使用しているため、Yoast ダッシュボード内から .htaccess ファイルを変更する方法を紹介します。
ステップ 1: WordPress 管理ダッシュボードに移動してログインします。
ステップ 2: Yoast 設定ページに移動します。
ステップ 3: [ツール] メニューを開きます。
ステップ 4: ツール メニューから [ファイル エディタ] を選択します。
ステップ 5: 編集後に .htaccess ファイルを保存します。
ほとんどの WordPress Web サイトでの .htaccess のデフォルト設定は次のとおりです。
# ワードプレスを始める
RewriteEngine オン
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# ワードプレス終了
Web サイトに .htaccess ファイルがない場合はどうなりますか?
.htaccess は自動的に作成される構成ファイルであるため、99% の状況で存在します。 ただし、これは通常、ディレクトリ内の隠しファイルであるため、Web マスターは、このファイルがなくなったと考えています。 「隠しファイルを表示する」を有効にすると、それを見つけることができるはずです。
それでも .htaccess ファイルが見つからない場合は、手動でファイルを作成して Web サーバーにアップロードする必要があります。
カスタム .htaccess ファイルを作成する手順
ステップ 1: メモ帳を持って書き始めます。
ステップ 2: 構成を書き留めます (上記のデフォルト構成を使用してテストするため)。
ステップ 3: ファイルを .htaccess として ASCII 形式で保存します。
ステップ 4: ファイルが .txt 形式で保存されていないことを確認します。
ステップ 5: Filezilla を使用して、.htaccess ファイルを Web ディレクトリにアップロードします。
注: WordPress を使用していて、.htaccess ファイル フィールドが空の場合は、構成を追加して保存します。
.htaccess ファイルを更新した後、WordPress ダッシュボードからロックアウトされた場合はどうすればよいですか?
Yoast または WP File Manager で .htaccess ファイルを更新した後、ダッシュボードからロックアウトされた可能性があります。 心配しないでください。 これは簡単に解決できる問題です。
SEO 担当者の場合は、開発者またはサーバー管理者に Web サイトへの FTP アクセスをリクエストしてください。 専門家の支援が必要な場合は、開発者に電話するのが理想的かもしれません。
ステップ 1: FileZilla を開き、Web ディレクトリにログインします。
ステップ 2: ディレクトリを開き、.htaccess ファイルをダウンロードします。
ステップ 3: .htaccess ファイルのデフォルト設定を置き換えて保存します。
ステップ 4: ディレクトリで、old.htaccess ファイルを新しいファイルに置き換えます。
ウェブサイトをできるだけ早くオンラインに戻すことを優先する場合は、デフォルトのコードを使用してください。 .htaccess ファイルに多くの変更を加えた場合は、問題のあるコードを探してください。 サーバーに再アップロードする前に、ファイルから削除してください。
.htaccess ファイルの更新後にエラーが表示されるのはなぜですか?
.htaccess を一から学ぼうとしている SEO 担当者は、最初にいくつかの失敗を犯すことになります。 Web サーバーが問題を報告した理由がわかるまでは、これで問題ありません。
.htaccess ファイルの変更に関しては、SEO が頻繁に直面する問題がいくつかあります。 最も一般的な .htaccess の問題を以下に示します。
- オーバーライドの無効化: .htaccess ファイルを機能させるには、まず AllowOverride を有効にする必要があります。 AllowOverride オプションが None に設定されている場合、.htaccess で設定されたすべてのカスタマイズは無効になります。 [上書き] オプションがオンになっていることを確認するには、次の手順を実行します。
ステップ 1: Apache 構成ファイルに移動し、それをダブルクリックします (http.conf)
ステップ 2: AllowOverride ディレクティブで、Allow OverRide を AllowOverride All に変更します。
ステップ 3: Apache 構成ファイルを保存し、Apache を再起動します。
- ファイル名のスペルミス: 2 番目に多い SEO エラーは、ファイル名のスペルミスです。 Misspelling.htaccess は、ASCII で保存された Unix ベースの構成ファイルであるため、エラーになります。 ファイルが「.」で始まらない場合、Apache サーバーは、指定したファイルと構成を無視します。 または、.txt などの別のファイル タイプでアップロードされます。
- .htaccess ファイルの階層は重要です: .htaccess ファイルの階層は重要です: .htaccess ファイルの階層は重要です: .htaccess ファイルの階層 I.htaccess ファイルの先頭に追加されたいくつかのルールは、後で追加されたルールを上書きする可能性があります構成で。 これらが重要であると思われる場合は、構成を一番上に移動することを検討してください。
- 複数の .htaccess ファイル: .htaccess ファイルはディレクトリごとに使用できるため、Web サイトで複数の .htaccess ファイルを使用できます。 このような状況では、あるファイルの構成が別のファイルの構成と競合し、問題が発生する可能性があります。 これをトラブルシューティングするために、個々の .htaccess ファイルを無効にすることができます。
- 構文エラー: .htaccess ファイルの機能は、Web サイトの設定に使用される構文に完全に依存しています。 ファイル構文の問題により、サイトがオフラインになり、パニック攻撃が発生する可能性があります. そのため、.htaccess ファイルを変更する前に構文を理解しておくことが重要です。
.htaccess ファイルの更新後に表示される一般的なエラー メッセージは何ですか?
ユーザーは、Web サイトを表示するたびに、直接的または間接的に Web サーバーと対話します。 Web サーバーは、ユーザーが表示される写真やその他のリソースをクリックすると表示されるサイトをフェッチするため、Web マスターとして制限できます。
.htaccess は、一部の Web サイトがページにアクセスするための認証を設定するために使用するファイルです。 SEOに関しては、訪問者と検索エンジンボットが最も重要なページにすばやくアクセスできるようにするために採用しています. Web サーバーは、Web サイトが必要な情報を提供できない場合、.htaccess ファイルで定義された構成に基づいてエラー コードを生成します。
以下は、要求されたデータの取得に失敗した場合に Web サーバーが表示するエラー コードのリストです。
クライアント要求エラー
- 400 — 不正なリクエスト:無効な URL 構造。 サーバーは、ユーザーによって提起された要求を理解できません。
- 401 — 認証が必要:これらのメッセージは、ページへのアクセスがウェブマスターによって制限されている場合に表示されます。
- 402 — 支払いが必要です (まだ使用されていません):支払いの開始に失敗した場合、通常、このコードが表示されます。
- 403 — Forbidden – 403 エラーが発生する単純な理由は、権限が制限されているリソースにアクセスしようとしているからです。 認証が必要なページにユーザーがアクセスしようとすると、Web サイトに 403 禁止エラーが表示されます。
- 404 — 見つかりません: 404 は、要求された URL が Web サイトで利用できないことをユーザーに明確に示します。 URL のタイプミスが原因であるか、ページがサイトから削除されたことが原因である可能性があります。
- 405 — Method Not Allowed:この HTTP 応答ステータス コードは、サーバーが要求の目的を理解しているにもかかわらず、要求メソッドの受け入れを拒否したことを示します。
- 406 — 受け入れられません (エンコード):これは通常、サーバーが accept-header 要求で応答できない場合に発生します。
- 407 — プロキシ認証が必要:このエラーは、ブラウザとサーバー間のプロキシ サーバー認証が不足しているため、要求を実行できないことを示します。
- 408 — Request Timed Out:これは、割り当てられたタイムアウト期間内にサーバーがクライアント側から完全な要求を受信できなかった場合に Web マスターが遭遇する一般的な HTTP エラーの 1 つです。
- 409 — 競合するリクエスト:このエラーは、ターゲット リソースの状態が現在の状態と競合する場合に発生します。 エラーを解決するには、競合を特定して再送信します。
- 410 — なくなった:このエラー コードは、要求されたリソースへのアクセスがサーバーから完全に削除されたことを表し、それはずっとそのままです。
- 411 — Content Length Required:このエラーは、コンテンツ長ヘッダーの定義に失敗したため、サーバーがクライアント要求を受け入れることができないことを表しています。
- 412 — 前提条件が失敗しました:これは、サーバーに実装されている 1 つまたは多くのセキュリティ構成とのセキュリティの競合が原因で発生したエラーです。
- 413 — リクエスト エンティティが長すぎます: リクエストされたリソースが大きすぎてサーバーが読み込めない場合、413 エラーが発生することがあります。
- 414 — リクエスト URI が長すぎます: 2048 文字を超える URL 構造を考えてみてください。 サーバーは結果の 414 エラーを解読できません。
- 415 — サポートされていないメディア タイプ:このエラーは、サーバーがサポートされていないメディア形式のリソースの読み込みを拒否した場合に表示されます。
サーバー エラー
- 500内部サーバーエラー
- 501 — 実装されていません
- 502不正なゲートウェイ
- 503 — サービスを利用できません
- 504ゲートウェイのタイムアウト
- 505 — HTTP バージョンはサポートされていません。
.htaccess は何に使用されますか?

リダイレクト
最近、ウェブサイトのドメイン名を変更しましたか?

SEO 担当者として、ユーザーに 404 ページを見せたくありません。苦労して獲得したオーソリティがすべて消えてしまうことは絶対に望んでいません。
これらの問題の両方に対する解決策として .htaccess ファイルを検討してください。 リダイレクト ディレクティブを .htaccess ファイルに追加することで、トラフィックとサイト オーソリティを新しいドメインにリダイレクトできます。
興味深いのは、Web サイトの URL でも同じことができることです。 301 リダイレクト ディレクティブを使用して、古い URL にアクセスしようとしているユーザーや検索エンジン ボットに、サイトの新しいページを強制的に表示させることができます。
.htaccess を使用した場合のドメイン レベルのリダイレクトの例を次に示します。
#これにより、ウェブサイト全体を他のドメインにリダイレクトできます
リダイレクト 301 / http://example.com/
.htaccess を使用した URL リダイレクトの例を次に示します。
RedirectMatch 301 ^/old-url.html$ /new-url.html
SEO に適した URL
URL の構造がおかしくなっていませんか? 訪問者や検索エンジン ボットは、ページの内容を解読するのに苦労していませんか? これは、多くのウェブマスターが直面していることです。
Web サイトが権限を取得した後、URL 構造に注意を払わないことが大きな問題になります。
.htacces を使用して、Web サイトに適切な URL 形式を設定できます。
さらに、.html や .php などの URL に付属する拡張子は、 .htaccess ファイルにディレクティブを追加することで簡単に削除できます。
例 1: .htaccess を使用して URL の拡張子を削除する
拡張子として .php を削除する
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [NC,L]
拡張子として .html を削除する
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.*)$ $1.html [NC,L]
例 2: .htaccess を使用して URL を小文字にする
方法 1
RewriteCond %{REQUEST_URI} [AZ]
RewriteRule . ${lc:%{REQUEST_URI}} [R=301,L]
ドメイン名を含むすべての URL 構造は、前述のコードの影響を受けます。
方法 2
RewriteCond %{REQUEST_URI} [AZ]
RewriteRule ^.+.html$ ${lc:%{REQUEST_URI}} [NC,R=301,L]
前のものの影響を受けるのは、html ファイル名のみです。
例 2: 動的 URL 書き換えに .htaccess を使用する
RewriteEngine オン
RewriteRule /(.*)/(.*)/$ page.php?category=$1&product=$2
悪い URL: site.com/page.php?category=2&product=54
適切な URL: site.com/sandwiches/rueben-sandwich/
- .htaccess を使用してサイトの速度を改善する
Web マスターの間の新しいバズワードは、ページ スピードです。
Google は現在、SERP でページをランク付けする上で最も重要な要素の 1 つと考えているため、騒ぎを引き起こすあらゆる理由があります。
Google は、ユーザーが上位のページにアクセスしたときに不快な体験をしてほしくありません。
読み込みが遅い Web サイトも、クロール バジェットの多くを浪費します。
.htaccess ファイルを構成することは、Web サイトの速度を向上させる最も簡単で安全な方法の 1 つです。
- キャッシュ機能を有効にする
.htaccess ファイルでキャッシュ機能を有効にすることにより、Web サイトのリソースが訪問者のブラウザーに保存され、より高速な読み込みが可能になります。
2 つの異なる方法を使用してキャッシュを有効にすることができます
ExperiesByType — in.htaccess.
例:
<ifModule mod_headers.c>
# 年
<FilesMatch ".(ico|gif|jpg|jpeg|png|flv|pdf)$">
ヘッダー セット Cache-Control "max-age=29030400"
</FilesMatch>
# 週
<FilesMatch ".(js|css|swf)$">
ヘッダー セット Cache-Control "max-age=604800"
</FilesMatch>
#45分
<FilesMatch ".(html|htm|txt)$">
ヘッダー セット Cache-Control "max-age=2700"
</FilesMatch>
</ifモジュール>
キャッシュ制御ヘッダー— キャッシュ制御ヘッダーは、有効期限が切れるまでのリソースの最大経過時間を使用します。
例:
# ほとんどの静的アセットで 1 か月
<filesMatch ".(css|jpg|jpeg|png|gif|js|ico)$">
Header set Cache-Control "max-age=2628000, public"
</filesMatch>
Gzip 圧縮の有効化
Web サイトのリソースのサイズは、速度を低下させる唯一の要因です。 .htaccess ファイルで gzip を有効にすると、クライアント側のブラウザーにデータを送信しながら、画像サイズ、ファイル サイズ、およびファイル数を減らすことができます。
最も単純な .htaccess ディレクティブの 1 つは、gzip 圧縮を有効にすることです。
以下に図を示します。
<ifModule mod_gzip.c>
mod_gzip_on はい
mod_gzip_dechunk はい
mod_gzip_item_include ファイル .(html?|txt|css|js|php|pl)$
mod_gzip_item_include ハンドラ ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifモジュール>
収縮オプションの有効化
一部の Web サーバーは gzip をサポートしていないため、Web サイトで問題が発生する場合があります。 このような場合は、.htaccess ファイルの deflate オプションをお勧めします。
以下に図を示します。
<IfModule mod_deflate.c>
# テキスト、HTML、JavaScript、CSS、XML を圧縮
AddOutputFilterByType DEFLATE アプリケーション/javascript
AddOutputFilterByType DEFLATE アプリケーション/rss+xml
AddOutputFilterByType DEFLATE アプリケーション/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE アプリケーション/x-javascript
AddOutputFilterByType DEFLATE アプリケーション/xhtml+xml
AddOutputFilterByType DEFLATE アプリケーション/xml
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE 画像/x アイコン
AddOutputFilterByType DEFLATE テキスト/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE テキスト/プレーン
AddOutputFilterByType DEFLATE テキスト/xml
# 以下の行は、一部のブラウザでのバグを回避するためのものです
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
BrowserMatch bMSI[E] !no-gzip !gzip-only-text/html
# これらのファイルが既にキャッシュされている場合はキャッシュしないでください
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip
# プロキシは適切なコンテンツを提供する必要があります
# Header append Vary User-Agent env=!dont-vary
ヘッダーの追加 Vary User-Agent
</IfModule>
.htaccess を使用してクロールとインデックス作成を改善する
すでに robot.txt ファイルを使用して、検索エンジンがサイトをクロールしてインデックスに登録できるかどうかを制御している可能性があります。 ただし、サイトに Web ページ以外のリソースが含まれている可能性があります。 このような場合、rbot.txt は機能しない可能性があります。
.htaccess ファイルに X-robots-tag を設定することは、PFD や Word ドキュメントなどのいくつかのリソースをインデックスなしにする理想的な手法です。
.htaccess ファイルのカスタム ヘッダーは、すべてのインデクサー ディレクティブと互換性があります。
例:
<FilesMatch ".(docx|pdf)$">
ヘッダーに X-robots-tag "noindex, noarchive, nosnippet" を追加
</FilesMatch>
この状況では、拡張子が .doc および .pdf のファイルはすべて、noindex、noarchive、および nosnippet と見なされます。
ほとんどすべての Apache サーバーには、構成済みの構成ファイルが付属しています。 ただし、これはサイト全体に適用されるため、ディレクトリ レベルのカスタマイズを設定することは困難です。
ここで .htaccess が役に立ちます。 .htaccess ファイルを使用して、ディレクトリおよびサブフォルダー レベルで Apache 構成設定をオーバーライドできます。
また、簡単なセットアップ コードを使用して認証を設定できます。 これは、共有ホスティング アカウントに多数の Web サイトがある場合に特に役立ちます。
.htaccess ファイルの利点
- すべてのリクエストはそれによって読み取られます。
- サーバーを再起動する必要がなく、すぐに変更を加えることができます。
- ユーザーの好みに基づいてユーザー アクセスを効果的に管理する
- ディレクトリ レベルで構成を設定します。
- SEOにとって、これは大きな恩恵です。
.htaccess ファイルの欠点
- .htaccess ファイルを使用すると、Web サイトのホスティングに関連するセキュリティ上の懸念が高まる可能性があります。
- .htaccess ファイルは、ページが読み込まれるたびにスキャンされて読み取られるため、サーバー側のセットアップよりも遅くなります。
- これは、何百万人もの訪問者を受け入れる Web サイトの速度に影響を与えます。
セキュリティとパフォーマンスの問題により、.htaccess ファイルをサーバーのセットアップ手段として使用することはお勧めしません。