検索エンジンで検索する環境を避けるため、prod/liveサイト以外のすべての環境(ステージ、qaなど)のHTMLページのheadセクションに "No index"メタタグを追加する必要があります。AEM6.3のprod以外のすべての環境に「No index」メタタグを追加するにはどうすればよいですか?
"runmodes"を使用して環境を確認し、各環境の条件を入力し、プロードされた実行モードに「インデックスなし」を追加することを計画しています。
これを実現する方法はありますか?
検索エンジンで検索する環境を避けるため、prod/liveサイト以外のすべての環境(ステージ、qaなど)のHTMLページのheadセクションに "No index"メタタグを追加する必要があります。AEM6.3のprod以外のすべての環境に「No index」メタタグを追加するにはどうすればよいですか?
"runmodes"を使用して環境を確認し、各環境の条件を入力し、プロードされた実行モードに「インデックスなし」を追加することを計画しています。
これを実現する方法はありますか?
Useクラス/スリングモデルを作成するには、SlingSettingsService
docs hereに配線し、SlingSettingsService#getRunModes()
を使用してすべてのランモードを取得し、目的のランモードを確認してください。
ここでは、流行しているランモードを確認するための単純なスリングモデルです。同じ方法で特定のランモードに基づいてチェックを追加することができます。
@Model(adaptables = {SlingHttpServletRequest.class})
public class AbstractFacilityComponent
{
@OSGiService SlingSettingsService slingSettings;
boolean isProd;
@PostConstruct
protected void postConstruct()
{
Set<String> runmodes = slingSettings.getRunModes();
isProd = runmodes.contains("prod");
return;
}
public boolean isProd(){ return isProd; }
}
運用環境と運用前環境の動作を変更するのではなく、アプリケーションが展開されているコンテキストを変更することができます。
次のオプションが頭に浮かぶ:
はあなたのプリプロダクション環境は公にアクセスすることを許可しないでください。 (例えば、運用前の環境に公開IPアドレスを与えたり、同じネットワーク/ VPNへのアクセスを制限したりしないでください)
AEMの前にApacheがある場合は、別のApacheインスタンス各環境ごとに異なるApache vhostあなたは一般的に、あなたがプライベートあなた以外のprod環境を維持する必要があり、常にthe x-robots: noindex
header
を追加するにはプリプロダクションのバーチャルホストを設定することができます。 Googleがステージングまたはデベロッパーのインスタンスのインデックスを作成できる場合は、他のすべてのユーザーもアクセスできます。私の視点から見ると、これは高いセキュリティリスクです。