金沢の安い宿のページのSEO対策

2020年5月22日

「きまっし金沢」に「金沢の安い宿」というページがあるのですが、以前はGoogle検索で一番最初に表示されていたのですが、最近ではGoogle検索から完全に外されています。
「金沢の安い宿」のページは、オリジナルのマップ(宿名のところをクリックすると該当の宿の情報に飛ぶ)もあるし、宿一覧もあって、おのおのの宿の必要最小限の情報(公式サイトへのリンクも含む)やオリジナルの画像も掲載されています。
それに加えて、30日間の最安値の宿とその価格も掲載されているので、かなり強力なページだと自負しています。
そのページがなんで、Google検索から完全に外されているのか、原因は判っているのです。
各宿から、アフィリエイトで楽天トラベルのページへのリンクを入れてあるからなんです。
最近のGoogle検索では、アフィリエイトのリンク数が多いページは一番嫌われているようなんです。
50以上もアフィリエイトのリンクコードを入れてあれば、嫌われるはずです。

そこで、作戦を考えました。「金沢の安い宿」のページからアフィリエイトのリンクコードを全て削除して、フレーム内のPHPページの30日間の最安値の宿とその価格一覧で宿名にアフィリエイトのリンクコードを埋め込むという作戦です。
30日間の最安値の宿に表示されるの宿はせぜい、10個程度なので、PHPでアフィリエイトのリンクコードを埋め込むのは、それほど難しい事では無いと思うのです。
フレーム内のPHPページは、「金沢の安い宿」のページ本体とは別ページ扱いになるので、「金沢の安い宿」のページはアフィリエイトは無いという事になり、SEO的には格段に強化されると思うのです。

2020年5月23日

さっそく変更しました。
データベースに宿ナンバーを登録して、最安値の登録が予想される12の宿の宿ナンバーの場合は宿名のかわりに宿名入りのアフィリエイトを表示するPHPプログラムに変更しました。
効果が表れると良いです。

2020年7月29日

SEO対策上の効果が表れていません。
「金沢の安い宿」のページで「保護されていない通信」という表示がある事に気づいて調べたら、リンク先の不備が見つかり修正しました。

2020年9月28日

宿の公式サイトへのアドレスがhttpからhttpsに変わったのに、そのままになっているのが多いことに気づきました。
公式サイトのアドレスを全部チェックする必要があります。

2021年1月20日

フレーム内にPHPを埋め込んだページは全てGoogleの検索対象から外れました。
やっぱりPHPを使うのはSEO対策上では不利なようです。

ガソリンが安いのでコストコ入会しようかな

2020年5月22日

最近、金沢市内のガソリンスタンドとコストコのガソリンの価格差が開いてきています。
現在はガソリン104円です。先週だったか102円の時もありました。
PLANT3も安いのですが、それでもコストコと較べると高いし、川北は遠いです。最近は福井方面に行く頻度も減っているので、コストコに入会することも考えてみようかなと思います。
ガソリンの差額だけでも、年会費4840円を回収できそうに思います。

ちなみに、灯油も価格が下がっていて、現在46円です。
安いうちに灯油を購入しておくのもありかなと思います。

2020年5月26日

今日はコストコのガソリンは106円でPLANT3は109円でした。
カナショクは120円でした。

PLANT3でマスク30枚入りが1078円

PLANT3に行ったのですが、マスク30枚入りが1078円で無制限で売られていました。かなり値段が下がってきました。もともとは1枚10円以下で売られていたので、まだ高値感はありますが、よく考えてみたら、マスク1枚が10円というのは、ちょっと安すぎたのではないかなと思います。
その他に、入手困難だったフェイスシールドなども、400円程度と、それほど高くない値段で売られていました。
一時期、食料品とかも売られているディスカウントショップなどは混雑して、レジでの列も凄かったのですが、だいぶ落ち着いてきたようです。
熊本県のスイカも売られていたので、買ってきました。

新型コロナ解除の市立図書館に行ってきた

2020年5月22日

メールで予約してあった本の用意ができたので、取りに来るよう連絡がありました。
5月31日(日)まで全館臨時休館しておりますが、
5月21日(木)から、予約資料の貸出を再開いたします。
2020年5月29日(金)までにカードを持参の上、貸出カウンターへお越しくださいますようという内容でした。
・マスクの着用をお願いします。
・入口での検温を実施しております。発熱症状のある方は、入館できません。
・入館の際に、お名前と緊急連絡先を記載していただきます。ご協力をお願いします。
とも記入されていました。

検温や連絡先の記入など、ちょっと面倒だなと思ったのですが、2020年5月29日(金)まで、ずっと続く事なので、行くことにしました。
お昼過ぎに行ったのですが、駐車場に止まっている自動車は皆無で、館内にも利用者は1人もいませんでした。
入館時に、検温があったのですが、額で検知する非接触型の体温計でした。体温を測らせていただきますと言われたので、測りやすいように黙って立ち止まっていたのですが、一向に測ろうとせずに、了解を求めていたような感じでした。再び言われたので、お辞儀したらやっと検温を始めたのですが、なかなか測定できないみたいでマゴマゴしていました。普通はすぐに値が表示されるんだけどなあ? 無事に検温をパスして、手を消毒して、貸出のカウンターに行きました。
入館の際に、名前と緊急連絡先の記載はありませんでした。本人の場合は貸出カードで判るので、代理人の場合だけ名前と緊急連絡先の記載が必要なようです。
貸出カードを出すと、カードには一切触れないようにして、センサーで手続きしていました。
なんか、凄い物々しさで、病院より厳重な雰囲気でした。
現時点では、まだ新規予約は出来なくて、随分前に予約して、閉鎖により受け取れなかった本の貸出だけです。
返却の本の消毒などの問題もあるので、そういう対処なのでしょうけど、せめてネットでの予約は受け付けて欲しいところです。

図書館の貸し出しが中止になってからも、家族の所持している本を借りて、かなりのペースで本を読んでいます。

2020年6月4日

図書館の正式開館になってから初めて行きました。
入口で手を消毒して、非接触の検温があって、図書カードを持っている人は、バーコードで読み取りがあり、図書カードの無い人は、入館用紙に住所とか記入しないといけません。
図書館の入館時間は30分になっていますが、退館時にチェックがあるわけではありません。
予約してあった本の受け取りの他に、2冊を書架から選んで借りてきました。

「気づけばプロ並みPHP」でPHPの勉強を再開

2020年5月17日

PHPで金沢の安い宿の一覧のプログラムを改良したのを機に、PHPの勉強を再開しました。
購入したのは、「気づけばプロ並みPHP 谷藤賢一」です。「気づけばプロ並みPHP 谷藤賢一」には改訂版も出版されていますが、内容はセキュリティの増強があるだけで、ほとんど同じ内容です。

「PHPの絵本」でPHPの基礎を勉強し、「公開API活用ガイド (I・O BOOKS)」で楽天トラベル空室検索APIを使っての安い宿一覧の表示に使い、「よくわかるPHPの教科書  たにぐち まこと」「Bootstrapファーストガイド」でネット掲示板を作り、残りのPHPの主な利用用途はお店のショッピングカートということになります。
それで、お店のショッピングカートを作るのに役立つ本を探して見つけたのが、「気づけばプロ並みPHP 谷藤賢一」です。

ちょっと読んでみましたが、とても分かりやすいです。

同じ著者の「いきなりはじめるPHP~ワクワク・ドキドキの入門教室~  谷藤賢一」も初心者用には良さそうなので購入しました。

1年のブランクでPHPの基礎も、すっかり忘れていたので、良い機会だと思います。

2020年5月19日

「いきなりはじめるPHP~ワクワク・ドキドキの入門教室~  谷藤賢一」を読んでみました。
2011年に書かれた本なので、WindowsXP、WindowsVista、Windows7などしかない時代なので、さすがに内容は古いです。それを考慮しても、参考になる良書だと思います。
PHPの本当に基本的な部分は詳細に説明されていませんが(そういうのは「PHPの絵本」がお奨め)PHPでMySQLやデータベースを使う際の基本的な部分が判りやすくピックアップされているので良いです。
サンプルソースが付いていると実際に動作するのか確認出来て良いのにと思います。

2020年5月20日

「いきなりはじめるPHP~ワクワク・ドキドキの入門教室~  谷藤賢一」を読んで、PHPで理解が浅い弱点が、判ってきました。

1.シングルクォーテーション「’」とダブルクォーテーション「”」の使い方の違い
2.<form> </form>から送られてきた配列変数(スクリプトのコード中どこからでも使用可)
$_POST[‘変数‘]
3.HTMLの入力・送信フォーム
<form method=”post” action=”submitボタンをクリックされた時の飛び先“>
<input type=”submit” value=”OK”>
</form>
4.<form> </form>内でフォームの送信時にユーザーが見たり変更したりすることができないデータの扱い
<input name=”入力欄の名前” type=”hidden” value=”渡したいデータ“>
渡したいデータが変数なら
<input name=”入力欄の名前” type=”hidden” value=”‘.変数.'”>
5.SQLの入力
INSERT INTO テーブル名 (フィールド名1フィールド名2フィールド名2) VALUES (“データ1“,”データ2“,”データ3“)
6.データベース接続
「いきなりはじめるPHP~ワクワク・ドキドキの入門教室~  谷藤賢一」では
$dsn=’mysql:host=ホストのアドレス;dbname=データベース名‘;
$user = ‘ユーザー名‘;
$password =’パスワード‘;
$dbh = new PDO($dsn,$user,$password);
$dbh ->query(‘SET NAMES utf8’);
になっていますが、
$dsn=’mysql:host=ホストのアドレス;dbname=データベース名‘;
$db = new PDO($dsn, ‘ユーザー名‘, ‘パスワード‘);
を使っています。
7.データベースエンジンにSQL文で指令を出す
「いきなりはじめるPHP~ワクワク・ドキドキの入門教室~  谷藤賢一」では
$sql=’SQL文‘;
$stmt =$db->prepare($sql);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC); //$stmtから1つずつデータを取りだす
になっていますが、
$stmt =$db->query(“SQL文“);
$result = $stmt->fetch(); //$stmtから1つずつデータを取りだす
を使っています。
.データベースの登録データを読み出す
SELECT * FROM テーブル名 WHERE 条件
.データベースからデータを全部受け取る
$sql = ‘SELECT * FROM テーブル名 WHERE 1’;
$stmt = dbh->prepare($sql);
$stml->execute();
10.$stmtからデータを順番に1つずつ取り出す
$rec = $stmt->fetch(PDO::FETCH_ASSOC);
それを表示するのは
print $rec[‘フィールド名’];
すべてのページを処理するには
while(1)
{
$rec = $stmt->fetch(PDO::FETCH_ASSOC);
if($rec==false)
{
break;
}
print $rec[‘フィールド名’];
}
$dbh = null;

「気づけばプロ並みPHP改訂版 谷藤賢一」も購入しました。
「気づけばプロ並みPHP 谷藤賢一」と比較して、「気づけばプロ並みPHP 谷藤賢一」旧版のほうが必要なければ、メルカリで売ろうと思います。安く買ったので、ほとんど持ち出しなしで売れると思います。