概要説明
Google検索エンジンからユーザーがアクセスしてきたときだけという判定処理を追加するショートコード。使い方次第だとは思いますが特定の条件の場合にのみ表示のロジックはこちらをベースに拡張が行えます。
~ 目次 ~
Google検索エンジンからアクセス判定+表示用ショートコード
functions.php
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
/*----------------------------------------------------
Google検索エンジンからサイトへ来たかを判定して表示を切り替える
----------------------------------------------------*/
if ( !function_exists( 'is_google_search' ) ){
function is_google_search() {
$check_url = 'https://www.google.com/';
if(isset($_SERVER["HTTP_REFERER"])){
if ( $check_url == $_SERVER['HTTP_REFERER'] ) {
if(!isset($_COOKIE['wp_google_search'])) {
setcookie('wp_google_search', 1, time()+3600); // 1時間有効
}
}
} else {
return FALSE;
}
}
// 表示分岐用のショートコード
function google_search_start() {
if(!isset($_COOKIE['wp_google_search'])) {
echo '<div style="display:none;">';
} else {
echo '<div>';
}
}
add_shortcode('google_start', 'google_search_start');
function google_search_else() {
if(!isset($_COOKIE['wp_google_search'])) {
echo '</div><div>';
} else {
echo '</div><div style="display:none;">';
}
}
add_shortcode('google_else', 'google_search_else');
function google_search_end() {
echo '</div>';
}
add_shortcode('google_end', 'google_search_end');
}
/*----------------------------------------------------
Google検索エンジンからサイトへ来たかを判定して表示を切り替える
----------------------------------------------------*/
if ( !function_exists( 'is_google_search' ) ){
function is_google_search() {
$check_url = 'https://www.google.com/';
if(isset($_SERVER["HTTP_REFERER"])){
if ( $check_url == $_SERVER['HTTP_REFERER'] ) {
if(!isset($_COOKIE['wp_google_search'])) {
setcookie('wp_google_search', 1, time()+3600); // 1時間有効
}
}
} else {
return FALSE;
}
}
// 表示分岐用のショートコード
function google_search_start() {
if(!isset($_COOKIE['wp_google_search'])) {
echo '<div style="display:none;">';
} else {
echo '<div>';
}
}
add_shortcode('google_start', 'google_search_start');
function google_search_else() {
if(!isset($_COOKIE['wp_google_search'])) {
echo '</div><div>';
} else {
echo '</div><div style="display:none;">';
}
}
add_shortcode('google_else', 'google_search_else');
function google_search_end() {
echo '</div>';
}
add_shortcode('google_end', 'google_search_end');
}
/*---------------------------------------------------- Google検索エンジンからサイトへ来たかを判定して表示を切り替える ----------------------------------------------------*/ if ( !function_exists( 'is_google_search' ) ){ function is_google_search() { $check_url = 'https://www.google.com/'; if(isset($_SERVER["HTTP_REFERER"])){ if ( $check_url == $_SERVER['HTTP_REFERER'] ) { if(!isset($_COOKIE['wp_google_search'])) { setcookie('wp_google_search', 1, time()+3600); // 1時間有効 } } } else { return FALSE; } } // 表示分岐用のショートコード function google_search_start() { if(!isset($_COOKIE['wp_google_search'])) { echo '<div style="display:none;">'; } else { echo '<div>'; } } add_shortcode('google_start', 'google_search_start'); function google_search_else() { if(!isset($_COOKIE['wp_google_search'])) { echo '</div><div>'; } else { echo '</div><div style="display:none;">'; } } add_shortcode('google_else', 'google_search_else'); function google_search_end() { echo '</div>'; } add_shortcode('google_end', 'google_search_end'); }
サイト全体とするか特定のページにするか
php
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<?php is_google_search(); ?>
<?php is_google_search(); ?>
<?php is_google_search(); ?>
対象とするテンプレートファイルやヘッダーなどに上記コードを設定します
ページ側での表示切り分け
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<?php echo do_shortcode('[google_start]'); ?>
Google検索エンジンからのアクセスありがとうございます。
<?php echo do_shortcode('[google_else]'); ?>
Googleから「functions.php WordPressセキュリティー診断サービス」にて検索してください。
<?php echo do_shortcode('[google_end]'); ?>
<?php echo do_shortcode('[google_start]'); ?>
Google検索エンジンからのアクセスありがとうございます。
<?php echo do_shortcode('[google_else]'); ?>
Googleから「functions.php WordPressセキュリティー診断サービス」にて検索してください。
<?php echo do_shortcode('[google_end]'); ?>
<?php echo do_shortcode('[google_start]'); ?> Google検索エンジンからのアクセスありがとうございます。 <?php echo do_shortcode('[google_else]'); ?> Googleから「functions.php WordPressセキュリティー診断サービス」にて検索してください。 <?php echo do_shortcode('[google_end]'); ?>
検索エンジンでキーワード指定でアクセスしてもらいたい場合など
ブラウザからのアクセスとクローラーでのアクセスでコンテンツ内容に差異がある場合にペナルティを受けることがあるので多様しないほうが良いと思いますがこんなことできるのかなと思ってコードを作成してみました
ご利用の際は多様はおすすめいたしませんが効果的に利用できる可能性もございます