SEOのためのベスト.htaccessガイド(例付き!)

あなたのウェブサイトは、.htaccessファイルでいくつかの編集を行った後にダウンした可能性があります。 しかし、それは心配することではありません!

これは、技術的な修正を行うことによって余分なマイルを行くしようとする多くのSEOで起こることです。

通常、WordPress ダッシュボードを通じて行われた編集は、誤った .htaccess ファイルを更新するとダッシュボードからロックされるため、ミニパニック発作を引き起こします。

.htaccess ファイルは、ウェブサイトの機能のカスタマイズに役立つため、SEO にとって恩恵と苦境の両方であると言えます。

パスワードによるファイルの保護から始まり、301 リダイレクトの実行や特別なエラー ページの設定まで、.htaccess は Apache Web サーバー上で動作する場合に便利です。

.htaccess 更新の失敗後にウェブサイトを復活させる手早い修正法を探している人、ウェブサイトの .htaccess 最適化についてさらに学びたい人には、存在しないものと思われたリソースがここにあります。

私たちは、SEO担当者として、余波を心配することなく自信を持ってWebサイトに変更を加えることができるように、非常に迅速な.htaccessの修正とヒントをいくつか提供するつもりです。

あなたはすでに、.htaccess が何であるか、Apache Web サーバーを実行する Web マスターにとってどれほど有用であるかを知っています。

しかし、私は初心者のために.htaccessの基本を少し説明し、それを理解してから実装するようにします。

目次からお好きな章に自由に切り替えてください。

.htaccessとは何ですか?

.htaccess は、Apache Web サーバー ソフトウェアが読み取り、実行できる設定ファイルで、追加の機能や特徴を有効/無効にすることができます。 .htaccess ファイルは Unix ベースの環境に存在し、ディレクトリ レベルで表示されるため、グローバルな Web サーバー設定を上書きし、Web サイト アクセスのカスタム設定を可能にします。

.htaccess は何の略ですか?

.htaccess は “hypertext access” の頭文字をとったものです。 このファイルを使用して、ユーザーのアクセシビリティ機能をディレクトリ単位で変更する開発者の間で流行したことから、この名前が付きました。

.htaccess は Apache サーバーの http.config ディレクティブを使用して、ユーザー名とパスワードを使用して、個人によるディレクトリへのアクセスを許可および制限します。 しかし、SEOに関しては、.htaccessはさらに大きな役割を担っています。

.htaccessは何のために使うのですか?

一貫してさまざまな要件が出てくるWebサイトがある場合、.htaccessは恩恵を受けていると考えてください。

SEO として、.htaccess は、301 リダイレクト、キャッシュの有効化、HTTP ヘッダーの更新、クローリングの制御、URL を SEO フレンドリーにするなど、Web サーバーに指示を与えるために使用できるので便利です!

.htaccess ファイルはどこで見つけることができますか?

.htaccess はディレクトリ レベルの設定なので、Web ディレクトリ内のほぼすべてのフォルダーで見つけることができます。 単一の Web ディレクトリに複数のサブディレクトリ (Web サイト) がある場合、.htaccess ファイルはルート ディレクトリと各サブディレクトリの内部で見つけることができます。

WordPress ユーザーであれば、.htaccess ファイルにアクセスする最良の方法は、Yoast Plugin Option を介してアクセスすることです。

注意してください。 .htaccess は初心者が弄るようなものではありませんので、デモ サイトでテストすることをお勧めします。 また、WordPress の管理画面からロックアウトされた場合、Filezilla を使用してルート フォルダにアクセスする方法について十分な知識を持つ必要があります。

WordPress ウェブサイトを運営している場合、.htaccess ファイルの編集をサポートするプラグインは一握りしかありません。 WordPress ユーザーのほとんどは、デフォルトの SEO プラグインとして Yoast を選択しているので、WordPress 内の Yoast ダッシュボードで .htaccess ファイルを編集する方法について説明します。

ステップ 1: WordPress 管理者ダッシュボードにログイン

ステップ 2: Yoast 設定

ステップ 3: ツール

ステップ 4: ツール内で、「ファイルエディタ」

ステップ 5: .htaccess ファイルを編集して保存

WordPress Webサイトのほとんどは、このデフォルト設定になっている。

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ -
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php
# END WordPress

Web サイトに .htaccess ファイルがない場合はどうすればよいのでしょうか。

.htaccessは自動的に生成される設定ファイルなので、99%の場合、存在します。 しかし、通常、ディレクトリ内の隠しファイルであり、ウェブマスターはそれがないと思っています。 ただ、「隠しファイルを表示する」を有効にすれば、見つけることができるはずです。

これを実行しても .htaccess ファイルが見つからない場合は、手動でファイルを書いて Web サーバーにアップロードする必要があります。

カスタム .htaccess ファイルを作成する手順

Step 1: メモ帳を開く

Step 2: 設定を入力する(テストには、上記のデフォルト設定を使用)

Step 3: ファイル名を .htaccess として ASCII で保存

Step 4: ファイルは、.http で保存しないことを確認する(.http でファイル名を保存)

ステップ 1: .htaccess でファイルを保存する(.http でファイル名を保存する)

ステップ 2: 設定を入力する(上記のテストには、上記のデフォルト設定を使用)

Step 5: Filezilla を使用して .htaccess ファイルを Web ディレクトリにアップロードする

Note: WordPress ユーザーで .htaccess ファイル用の空のフィールドがある場合、設定を追加して保存するだけです。

.htaccess ファイルの更新後に WordPress Dashboard からロックアウトされたらどうしますか?

Yoast を使用して、または WP File Manager を使用して .htaccess ファイルを更新したところ、ダッシュボードからロックアウトされたことがあります。 慌てないでください。 これは簡単に修正できます。

SEO の場合は、サーバーを管理する開発者からウェブサイトの FTP アクセスを取得します。 専門家の助けが必要な場合は、開発者が最高の助っ人になる可能性があります。

Step 1: FileZillaを使用してWebディレクトリにログインする

Step 2: ディレクトリから.htaccessファイルをダウンロードする

Step 3: .htaccessを更新する

Step 4: .htaccessを更新する

Step 5: .htaccessを更新する。

Step 4: ディレクトリ内の古い .htaccess ファイルを新しいものと置き換えます

Note: Webサイトを早急にオンラインに戻すことを優先する場合は、デフォルトコードを使用します。 しかし、.htaccess ファイルに多くの変更を加えた場合、裏目に出たコードを見つけるようにしてください。 サーバーにアップロードし直す前に、それを削除してください。

.htaccess ファイルを更新した後、なぜエラーが表示されるのですか?

SEO が .htaccess を深く学ぼうとしている場合、最初のうちはいくつかの間違いを犯すことになる可能性があります。 これは、Web サーバーがなぜエラーにフラグを立てたのかを理解するまではまったく問題ありません。

SEOが.htaccessファイルを更新する際に遭遇する一般的な問題がいくつかあります。 ここでは、最も一般的な.htaccessの問題のリストです。

  1. Disabled Override: .htaccess ファイルが機能するためには、まず AllowOverride オプションを有効にする必要があります。 AllowOverrideオプションがNoneに設定されている場合、.htaccessで設定されたすべての設定は無効となります。 Overrideオプションが有効になっていることを確認するには、次の手順を実行します。

Step 1: Apache 設定ファイル (http.conf) を開く

Step 2: Allow OverRideディレクティブを.htaccessに設定します。 AllowOverride All

Step 3: Apache 設定ファイルを保存し、Apache Server

  1. ファイル名のスペルを間違えました。 これは、SEO担当者が犯す2番目に多い間違いです。 .htaccessはASCIIで保存されるUnixベースの設定ファイルなので、スペルを間違えるとエラーになります。 ファイルが「.」で始まらない場合や、「.txt」など別のファイル形式でアップロードされた場合、Apacheサーバーはそのファイルや設定した設定を無視することになります。
  2. .htaccess の階層に関する事項: .htaccess ファイルは、その階層に基づいて実行されます。 .htaccessファイルの最初に設定されたいくつかのルールは、設定の後の段階で来るルールを無効にするかもしれません。 もしこれらが重要だと思うのであれば、特定の設定を上に移動してみてください。
  3. 複数の .htaccess ファイルがある。 .htaccess ファイルはディレクトリごとに使用できるので、あなたの Web サイトが複数の .htaccess ファイルを使用している可能性があります。 このような場合、あるファイルで設定した内容が別のファイルで設定した内容と矛盾してしまい、エラーになることがあります。
  4. Syntax Error: .htaccessファイルは、Webサイトの設定に使用される構文に完全に基づいて機能します。 このファイルの構文エラーは、サイトをオフラインにし、パニック発作を引き起こす可能性があります。 そのため、.htaccessファイルを更新する前に、構文を理解することが不可欠です。

.htaccess ファイルを更新した後に表示される一般的なエラーメッセージは何ですか。

ユーザーが Web サイトを訪問するたびに、ユーザーは Web サーバーと直接または間接的にやり取りしています。 彼らが見る画像や他のリソースをクリックして取得するページは、ウェブサーバーによって取得され、それはウェブマスターとしてあなたがそれを制限することができることを意味します。

Webサイトによっては、.htaccessを使用してWebサイトにアクセスするための認証を設定しているところもあります。 SEO に関して言えば、ユーザーと検索エンジンのボットが最も重要なページに簡単にアクセスできるようにするために使用します。 Web サイトが要求された情報を提供できない場合、.htaccess ファイルで設定された構成に基づいて、Web サーバーによってエラーコードが生成されます。

Web サーバーが要求されたデータの取得に失敗した場合に表示されるエラー コードの一覧は次のとおりです。 無効な URL 構造です。 サーバーは、ユーザーによって提起された要求を理解することができません。

  • 401 – 権限が必要です。 これらのメッセージは、ページへのアクセスがウェブマスターによって制限されている場合に表示されます。
  • 402 – 支払い要求 (未使用):これらのメッセージは、ページへのアクセスがウェブマスターによって制限されている場合に表示されます。
  • 403 – Forbidden – あなたが403エラーを取得する簡単な理由は、あなたが制限された権限を持っているリソースにアクセスしようとしているためです. Web サイトでは、ユーザーが認証を必要とするページにアクセスしようとすると、403 forbidden エラーが表示されます。
  • 404 – 見つかりません。 404 は、要求された URL が Web サイトで利用できないことをユーザーに明確に示すものです。 URL のタイプミスや、ページがサイトから削除されたことが原因である可能性があります。
  • 405 – Method Not Allowed。 この HTTP 応答ステータス コードは、サーバーがリクエストの目的を理解しているにもかかわらず、リクエスト メソッドを拒否したことを示します。
  • 406 – Not Acceptable (encoding):
  • 407 – プロキシ認証が必要です: サーバーが accept-header リクエストで応答できない場合に通常発生します。 このエラーは、ブラウザーとサーバー間のプロキシ サーバー認証がないため、要求が実行できないことを示します。
  • 408 – リクエスト タイムアウト: リクエストがタイムアウトしました。 割り当てられたタイムアウト期間内にサーバーがクライアント側からの完全な要求を受信できない場合に、Web マスターが遭遇する一般的な HTTP エラーの 1 つです。 このエラーは、対象のリソースの状態が現在の状態と競合している場合に発生します。 エラーを解決するには、競合を特定し、再送信してください。
  • 410 – 消えた: このエラーコードは、要求されたリソースへのアクセスがサーバーから永久に削除され、ずっとその状態が続くことを表します。 このエラーは、content-length ヘッダーの定義に失敗したため、サーバーがクライアント リクエストを受け付けられないことを表します。 サーバーに実装されている 1 つまたは複数のセキュリティ構成とセキュリティの衝突が原因で発生したエラーです。
  • 413 – リクエスト エンティティが長すぎます: リクエスト エンティティが長すぎます。 要求されたリソースが大きすぎてサーバーにロードできない場合、ユーザーは 413 エラーを経験することがあります。
  • 414 – リクエスト URI が長すぎます。 2048 文字以上の URL 構造を考えてみてください。 サーバーは、結果として生じる 414 エラーを解読することができません。
  • 415 – サポートされていないメディア タイプ。 このエラーは、サーバーが、サポートされていないメディア形式のリソースの読み込みを拒否したときに表示されます。
  • Server Errors

    • 500 – Internal Server Error
    • 501 – Not Implemented
    • 502 – Bad Gateway
    • 503 – Service Unavailable
    • 504 – Gateway Timeout
    • 505 – HTTP Version Not Supported.

    .htaccess とは何のために使用するのでしょうか?

    リダイレクト

    ウェブサイトのドメイン名を変更しただけですか?

    SEO として、ユーザーに 404 ページを見てほしくないし、苦労して獲得した権威がすべて消えてしまうのは絶対に避けたいことです。

    これらの懸念に対する万能薬として、.htaccess を考えてみてください。 .htaccess ファイルにリダイレクト ディレクティブを追加すると、トラフィックとサイトの権限を新しいドメインにリダイレクトするのに役立ちます。

    面白いのは、Web サイト内の URL に関して、同じことを行うことができる点です。 301 リダイレクト ディレクティブを作成することにより、古い URL にアクセスしようとするユーザーや検索エンジンのボットに、サイト内の新しいページを読むように促すことができるのです。

    .htaccess を使用したドメイン レベル リダイレクトの例。

    # This allows you to redirect your entire website to any other domain 
    Redirect 301 / http://example.com/

    .htaccess を使用した URL リダイレクトの例。

    RedirectMatch 301 ^/old-url.html$ /new-url.html

    SEO-friendly URLs

    URL 構造が乱れていませんか? ユーザーや検索エンジンのボットは、ページ内に何があるのか理解できないのでしょうか? これは、かなり多くのウェブマスターに起こることです。

    最初に URL 構造に注意を払わなかったことが、Web サイトが権威を得た後に大きな痛手となるのです。

    .htaccesを使用すると、Webサイトに適切なURL構造を設定することができます。

    これに加えて、たとえば .html や .php など、URL に付随する拡張子は、.htaccess にディレクティブを追加することで簡単に取り除くことができます。

    例 1: .htaccess を使用して URL の拡張子を削除する

    Removing .php as Extension

    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME}.php -f
    RewriteRule ^(.*)$ .php

    Removing .html as Extension

    RewriteEngine on 
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME}.html -f
    RewriteRule ^(.*)$ .html

    例 2: .htaccess を使用して URL の拡張子を削除する

    例 3: .html as Extension を削除する

    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME}.php -f
    RewriteRule ^(.*)$ .php

    .htaccess を使用して URL を小文字にする

    Method 1

    RewriteCond %{REQUEST_URI} 
    RewriteRule . ${lc:%{REQUEST_URI}}

    上記のコードは、ドメイン名を含むすべての URL 構造に影響を及ぼします。

    RewriteEngine On
    RewriteRule /(.*)/(.*)/$ page.php?category=&product=

    悪い URL: site.com/page.php?category=2&product=54

    良い URL: site.com/sandwiches/rueben-sandwich/

    • Using .htaccess for Dynamic URL rewriting: .php を使用して動的な URL を書き換える。htaccess を使用してサイトの速度を改善する

    ページ速度は、Web マスターの間で新しい話題となっています。

    この騒ぎを起こす理由はすべて、Google が SERP でページをランキングする際の主要要因の 1 つとして考慮するからです。

    Google は、ユーザーが上位に表示されたページで悪いユーザー体験をすることを望んでいないのです。

    さらに、読み込みの遅い Web サイトは、クロールの予算を大幅に消費してしまいます。

    Web サイトの速度を改善する最も簡単で安全な方法の 1 つは、.NET Framework を構成することです。htaccess ファイルを使用します。

    • キャッシュ機能を有効にする

    .htaccess ファイルでキャッシュ機能を有効にすると、ウェブサイトのリソースは訪問者のブラウザに保存され、迅速な読み込みが可能になります。

    キャッシュは 2 つの異なる方法で有効にできます。

    ExperiesByType – .htaccess でこの方法を使用すると、Web サイト内の各リソースにキャッシュの時間枠、別名有効期限を設定することができます。

    例:

    <ifModule mod_headers.c>
    # YEAR
    <FilesMatch ".(ico|gif|jpg|jpeg|png|flv|pdf)$">
    Header set Cache-Control "max-age=29030400"
    </FilesMatch>
    # WEEK
    <FilesMatch ".(js|css|swf)$">
    Header set Cache-Control "max-age=604800"
    </FilesMatch>
    # 45 MIN
    <FilesMatch ".(html|htm|txt)$">
    Header set Cache-Control "max-age=2700"
    </FilesMatch>
    </ifModule>

    Cache-Control Header – Cache-control ヘッダーは、有効期限が切れる前にリソースの最大年齢を使用します。

    例:

    # One month for most static assets
    <filesMatch ".(css|jpg|jpeg|png|gif|js|ico)$">
    Header set Cache-Control "max-age=2628000, public"
    </filesMatch>

    Gzip 圧縮を有効にする

    Web サイトの速度を悪化させる理由の 1 つは、リソースのサイズです。 .htaccess ファイルで gzip を有効にすることで、クライアント側のブラウザにデータを送信する際に、画像サイズ、ファイルサイズ、ファイル量を削減することができます。

    gzip を有効にすることは、最も簡単な .htaccess ディレクティブの 1 つです。

    以下に例を示します。

    <ifModule mod_gzip.c>
    mod_gzip_on Yes
    mod_gzip_dechunk Yes
    mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
    mod_gzip_item_include handler ^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.*
    </ifModule>

    Enabling Deflate Option

    Web サーバーによっては、gzip をサポートしていないため、Web サイトでエラーが発生することがあります。 そのような場合、.htaccess ファイルで deflate オプションを使用することをお勧めします。

    以下はその例です。

    <IfModule mod_deflate.c>
    # Compress text, HTML, JavaScript, CSS, XML
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE application/rss+xml
    AddOutputFilterByType DEFLATE application/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 application/x-javascript
    AddOutputFilterByType DEFLATE application/xhtml+xml
    AddOutputFilterByType DEFLATE application/xml
    AddOutputFilterByType DEFLATE font/otf
    AddOutputFilterByType DEFLATE font/ttf
    AddOutputFilterByType DEFLATE image/svg+xml
    AddOutputFilterByType DEFLATE image/x-icon
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE text/html
    AddOutputFilterByType DEFLATE text/plain
    AddOutputFilterByType DEFLATE text/xml
    # The following lines are to avoid bugs with some browsers
    BrowserMatch ^Mozilla/4 gzip-only-text/html
    BrowserMatch ^Mozilla/4.0 no-gzip
    BrowserMatch bMSIE !no-gzip !gzip-only-text/html
    BrowserMatch bMSI !no-gzip !gzip-only-text/html
    # Do not cache if these files are already cached
    SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip
    # Proxies must give the right content
    # Header append Vary User-Agent env=!dont-vary
    Header append Vary User-Agent
    </IfModule>

    Using .htaccess for Improved Crawling and Indexing

    すでに robots.txt ファイルを使用して、検索エンジンのクロールとインデックス作成を許可および拒否している場合があります。 しかし、あなたのサイトにはウェブページ以外のリソースがある可能性があります。 そのような場合、rbot.txtが機能しないことがあります。

    PFD や Word Document などの少数のリソースをインデックスさせないようにするには、.htaccess ファイルに X-robots-tag を設定するのが一番です。

    .htaccessファイルのカスタムヘッダは、すべてのindexerディレクティブで機能することができます。

    例を示します。

    <FilesMatch ".(docx|pdf)$">
    Header add X-robots-tag "noindex, noarchive, nosnippet"
    </FilesMatch>

    この場合、拡張子が .doc と .pdf のファイルはすべて noindex、noarchive、nosnippet として考慮されます。

    結論

    ほとんどすべての Apache サーバーは、プリセットの設定ファイルを持っています。 しかし、これはサイト全体に適用されるため、ディレクトリレベルの設定を行うことは困難です。

    そこで、.htaccess がありがたい存在となる。 .htaccessを使ってディレクトリやサブディレクトリのレベルの設定を行うことで、Apacheの設定値を上書きすることができるのです。

    これに加えて、簡単な設定コードを使って認証を設定することができます。 これは、複数の Web サイトを持つ共有ホスティングを使用している場合に、より便利です。

    .htaccess ファイルの利点

    • すべてのリクエストを読み込む
    • サーバーを再起動せずにすぐに変更できる
    • ユーザーの好みに基づいてアクセスを効果的に管理できる
    • ディレクトリ レベルの設定を行う
    • SEO にとって本当にありがたい

    .htaccess のデメリット:Apache は、サーバーを再起動することなく、すべてのリクエストを読み込むことができます。.htaccess ファイル

    • .htaccess ファイルは、サイト運営のセキュリティ リスクを高める可能性があります
    • .htaccess はページを読み込むたびに検索されて読み込まれるため、サーバー レベル設定より低速です
    • それは、数百万のアクセスを牽引するウェブサイトの速度に影響を及ぼします。

    .htaccess ファイルは、セキュリティとパフォーマンスの問題から、サーバー設定の方法としては推奨されません。

    コメントを残す

    メールアドレスが公開されることはありません。