SEO業者を選ぶポイント

SEOとは自分でもできるものです。しかし、対策を行う人的時間的余裕がない場合や、とにかくすぐに上位表示したいという場合に は、業者に依頼するのも 1つの手段です。 SEO 業者を選ぶ上での大事なポイントは次の通りです。

・料金体系がリーズナブルか

・経営者または担当者が信頼できるか

・良質なサイトを多く所有しているか

・対応が早いか

・サイトの事前チェックが的確か

・SEO 以外での販売アイデアがあるか

まず注意が必要なのは、過去の順位上昇実績で選ばないことです。 過去の実績というのはあくまで自己評価のようなものなので、それが高ければ実力があるというものではありません。あり得ないような大げさな実績を掲げ、ている
会社もありますが、それが本当かウソかを証明する手立ては実際はないわけです。
私の経験からすると、過去の実績と本当の実力は関係ありません。むしろ逆のケースもありうるともいえます。

ペイント系ソフト

ペイント系ソフトを使用してラスタ形式の画像を補正から加工、編集するといった作業のことを「レタッチ」と呼んでいます。また、画像の濃さなどのレベルを表した画素値の分布をグラフにしたものを「ヒストグラム」と呼び、横軸が画素値、縦軸が画素値の頻度といったように表示されるのが一般的と言えるでしょう。

さらに入力画像の画素と出力画像の画素の濃度関係をグラフにしたものを「トーンカーブ」と呼び、横軸が入力画像、縦軸が出力画像という並びでそれぞれの画素値を表示したものが一般的と言えるでしょう。ヒストグラムを解析することにより、その画像のコントラスト(明暗の差)を正確に知ることができると言えるでしょう。一方ヒストグラム操作をすることにより、画像のコントラストを整えるといったことも可能でしょう。基本的に、ヒストグラムの左は画像の一番暗い部分、右は一番明るい部分を表していると言えるでしょう。

ヒストグラムの理想形は、ヒストグラムの分布がシャドウの方から広がっているものと言われていますが、実際にはホームページ作成で使用する画像の特性や目的、ページの用途などによっても、理想と言えるヒストグラムは違ってくると言えるでしょう。低コントラストの画像というのは一般的にヒストグラムの分布範囲が狭くなってしまい、高コントラストの画像というのは、ヒストグラムの分布は広範囲にわたるとされています。また、カラー画像においてはRGBのそれぞれの色に各ヒストグラムがあると言われています。

複雑な集計をやってみよう

個数のカウントや値の集計といった方法も、扱うデータが多くなってくると、項目が違ってくると計算も違ってたらいいなと思います。たとえば、購入履歴を管理するテーブルを作るときがそうです。各商品に対して、購入履歴が記録できるテーブルを作りましょう。cartsというテーブルを作成します。phpMyAdminを起動します。mydbを選びます。新規にcartsという名前の3つのカラムを持つテーブルを作りましょう。各カラムを設定したら、IDカラムはプライマリーキー、オートインクリメントをそれぞれ設定しましょう。数字しか挿入できない簡素なテーブルとなりますが、リレーションを前提したテーブルとなります。item_idカラムに入ってくる数字はmy_itemsテーブルのidと一致します。これを見るとどの商品がいくつ売れたかがわかります。my_itemsテーブルとリレーションを張ってみましょう。「SELECT my_items.item_name,carts.count FROM my_items, carts WHERE my_items. id=carts.item_id;」です。そしてSUMという合計数を計算するSQLを利用すると、全部で商品をいくつ販売したかわかります。しかし、これでは全部で何個販売したかはわかりますが、それぞれの商品が何個売れたのかはわかりません。こういう◯◯ごとの集計を行うというのはGROUP BYという句を使います。ここで注意しなければならないのは、GROUPS BY が付加されているのは当然ですが、カラムにitem_idが追加されていることです。これでどの商品の結果なのか分かるということです。

データベースについて

現在のウェブプログラムやソフトウエアではPHPだけではなく、データベースが欠かせない存在となっています。データベースというのは、情報を記録するための仕組みの1つです。例えばオンラインショッピングでの商品で考えてみると、名前やメーカー名、クレジットカード番号や買い物の履歴、価格という情報、顧客の発送先住所、など、情報と呼べるあらゆるものを記録しておくことができます。情報を記録するということだけ考えてみうと、データベースを使う必要はないかもしれません。保存なら、ファイルやXMLなどにできるからです。だったらなぜデータベースを使わないといけないか。もちろんメリットがあるからです。そのデータベースの便利なのは、それ自身が「ソフトウェア」だからです。XMLやファイルというのは容器です。だから、情報の記録や取り出し、消去というのは自分でやるしかないのです。一方、データベースというのは、容器という役割の他に、データを管理もしてくれるというこ。データを管理する管理人がいるようなものです。この管理人に頼めば、情報を保管、管理してくれるわけです。そしてこの管理人というのはものすごい能力があります。何千件、何万件、とある情報を瞬時に検索・並び替え、分類などを行ってくれるスーパーマンみたいなものです。ただ、頼むときには、特殊な言葉を使います。データベースを操作するには、PHPなどのプログラム言語の他に、SQLを覚えたりということもでてきます。ただ、これも非常に簡単な英単語の組み合わせです。なにはともあれデータベースを覚えるとウェブシステムの種類はすごく増えてきます。ここは頑張って勉強していきましょう。

チェックボックスについて

チェックボックスと、リストボックスというのは、複数の選択肢を選ぶことができるものです。そういう内容にするためには、HTMLが必要だったり、プログラムに工夫をしないといけません。チェックボックスや「multiple」属性を付加したりすると、複数の同じ項目を選んだりすることができます。これはアンケートといったものなどで、よく利用されるコントロールです。PHPでこれを扱うには、工夫をしないといけません。まず、HTMLを作るときに、注意をしないといけません。チェックボックスで複数選択可能なものを作りたいというときは、「name」属性の値には、「[]」という記号を絶対につけなければなりません。こうすると、PHPにはチェックボックスの値が配列として渡されるようになります。配列には、内容が順番に格納されることになります。気をつけなければならないのは、ラジオボタンやチェックボックスには、「vvalue」属性の値が格納されてるということです。また、フォームに記入された内容というのは、もともと配列に格納されるということで、配列の配列という非常に複雑な変数に格納されることになります。そうならないように「[‘reserve’][0]」のような、2つの[]をつなげて指定することになります。このような配列のことを「二次元配列」と呼ぶます。この配列の内容を画面に表樹するには、「foreach」構文を使います。foreachを使ったプログラムの方が短くすむ場合もあります。年齢や郵便番号、注文番号といった数字だけを入力して欲しいというときは、それをチェックしてエラーを出します。全角数字などに注意してもらいます。

データベースに登録しよう

準備が整ったらデータベースへの登録手続きをしていきます。まず、データベースに接続しなければいけません。「dbconnect.php」を作成しておきましょう。「join」フォルダ内に作るのではなく、ルートフォルダに作成しましょう。「mini_bbs」に選択するデータベース名になっています。このファイルを「requre」ファンクションで読み込みましょう。「check.php」を変更しましょう。パスワードの安全性を高めるのも大切です。SQLが出来上がったら、executeメソッドでデータベースに実行してください。データベースの重複登録などを防ぐための処理も必要です。thanks.phpに移動させる作業をしましょう。完了画面には特にプログラムを設置する必要もないようです。問題点として、同じアカウントで何度も登録できてしまうことがあります。すでに会員の人が誤って会員登録してしまったりするとアカウントの重複が起こります。重複確認も行うようにしておきましょう。データベースへの接続も必要になります。dbconnect.phpをrequireファンクションで参照して、重複を確認していきましょう。membersテーブルから重複を確認します。入力されたメールアドレスのレコードが保存されているかどうかを確認できます。SQLのCOUNT句を利用している場合は、もし存在していたらその件数を取得できます。prepareメソッド、executeメソッドを使ってSQLを発行、その結果をfetchメソッドで取り出しましょう。$record[‘cnt’]で件数を取り出すことができるようになります。この値が1以上なら既にメールアドレスが登録してあります。

バグが起こらないために

コノ字型の迷路を準備します。コノ字型になると、立ち往生しないロボットをつくるというと、ちょっとむずかしい気がしますが、真っ直ぐに進むか、右に曲がって進むかの繰り返しでしかないのが分かると思います。繰り返し付箋ブロックともしも付箋ブロックを組み合わせてうまく作ってみましょう。前に進んでは更に進めるかを判断したり、進めなければ右に回って、そして一歩進むということことにしていきます。右回りが続く迷路というものだったり、いろんな迷路を作って対応させてみましょう。ダメなケースというのもあります。スタート直後が右に曲がっている迷路です。今作っているロボットの場合、必ず最初に前に進むとなっています。そのため、最初の一歩がもうダメです。しかも「ゴールするまで繰り返し」という命令を出しているので、このロボットはゴールするまで前に進もうとします。ようするにロボットは壊れるまで前に進もうとするわけです。こういうものを「無限ループ」「永久ループ」といいます。繰り返しのブロックのなかで、、プログラムを間違えてしまったり、条件を間違えてしまうと、こういった状況になってしまいます。自分では正しく作ったプログラムでも、条件によっては正しく動作しないという状況に陥ります。それを「バグがある」というように呼びます。ゲームなんかでおかしなことになってしまうと、「バグが出た」というように言ったりします。なのでゲームが好きな人には耳慣れているかもしれません。プログラムで一番困るのがこの「バグ」です。どうしてプログラムが動かないのか、とにかく初心者は右往左往してしまうものです。バグの解決策を見つけることができれば一人前のプログラマーです。

PHPを使おう・画面に現在の時刻

PHPというのは、ウエブページの内容を状況に応じて変化させることができるところ。毎回表示される内容が変わるというと、現在の時刻を画面に表示できるわけです。例えば「現在は10時30分45秒」という具合に表示できます。使うファンクションはprintとdateです。現在の時刻を表示するには、「date」という専用のファンクションを使います。このファンクションは日付や時刻を管理するものです。ここでは「10時、30分、45秒」を表示するということで、「時」「分」「秒」を取り出すことができればいいと考えます。「秒」を取り出してみます。秒はもっとも変化が激しいので、確認が取りやすいからです。dateファンクションは、画面に出力する機能は持っていません。戻り値として内容を得られるだけです。この戻り値を画面に出力するためprintファンクションを組み合わせて使います。というプログラムになります。パラメータの「s」というのは、秒を取得するためのパラメータです。dateファンクションには他にもパラメータを指定することができます。パラメータのマニュアルを参照して作成しましょう。これらを参照しながら、「分」を表示します。パラメータを変えるだけで表示することができます。「分」はパラメータの表の「i」です。「時」は「g」です。「時」の場合は、先頭に0をつけるか、12時間制か24時間制かで「g」「G」「h」「H」などの種類があります。これらを組み合わせて作成します。dateファンクションというのは、複数のパラメータを一度に指定することができます。パラメータの中に文字列を含めることもできます。

プログラムを動かす部分

インターネット上のサーバを通して使用する事ができるのがWebアプリケーションです。ではPHPのプログラムはどうでしょうか?PHPのプログラムもWebアプリケーション同様サーバ上で実行する事が可能なようです。サーバにはローカルホストとリモートホストがあるようです。ローカルホストとリモートホストについて見ていくとしましょう。ここでは、リモートホストについて見ていきます。Webアプリケーションを利用するユーザーは普段あまり意識していないかもしれませんが、使用しているパソコンのWebブラウザ(クライアントとも呼ぶ)からインターネットの上サーバにリクエストを送ったり、レスポンスを受信したりしているようです。このようなインターネット上のサーバのことをリモートホスト(Remote Host)と言うそうです。リモートホストは遠隔地の機器という意味を持っており、ネットワークを通して接続した先にあるコンピューターを指すようです。また、この時PHPのプログラムがある場所はリモートホストの中なのだそうです。この場合プログラムをサーバ上に置くためには、まず、使用しているパソコンでプログラムを記述する必要があります。記述が完了したらプログラムをサーバ上に設置する作業を行うのです。これでは、プログラムをどこか修正するたびサーバにあるプログラムを修正済みのものに置き換える必要が出てきてしまうため、とても手間がかかってしまいます。加えて自分が記述したプログラムに致命的なエラーが発生した場合処理の時間がものすごくかかってしまい、同じサーバにプログラムを置いている他者の事までもトラブルに巻き込んでしまう可能性があるそうです。

サーバが行うものは?

ブラウザからリクエストをサーバが受け取った時どのようにレスポンスを返すのか見ていきましょう。リクエストを受け取っているのはWebサーバと呼ばれる機能なのですが、このWebサーバはブラウザによってリクエストが送られてくると、その内容を確認し、どのファイルをレスポンスで返すべきか解釈しているそうです。さて、では、リクエストの判別はどのようにして行うのでしょうか?URLが~.htmlで終わっているHTMLファイルという名前のファイルがあります。ブラウザによってHTMLファイルがリクエストで送られてきた時、数あるファイルのなかから該当するファイル(HTMLファイル)を取り出しレスポンスとして送るそうです。そして、レスポンスにはHTMLや画像を送る事になっているそうで、見つけたHTMLファイルを、クライアントのブラウザへ送り返します。もらったファイルをレスポンスとしてそのまま送れば良いHTMLのことを静的Webページと呼ぶそうです。次にURLが~.phpで終わっている場合はHTMLファイルとは異なります。URLが~.phpで終わっているファイルはPHPファイルといいます。このファイルはそのままではブラウザにレスポンスとして送る事は出来ないそうです。この場合Webサーバは該当するプログラムのファイルを取り出し、そのファイルがPHP言語で書かれていると確認すると、PHP実行エンジンと呼ばる機能にファイルを渡すそうです。PHP実行エンジンはファイルを渡されるとその内容を、解釈・処理した後、HTMLを作成、レスポンスとしてブラウザに送ります。先ほどとは違い、様々な処理を受けたあと、レスポンスとして送られてくるWebページのことを動的Webページと呼ぶのだそうです。静的Webページが決まったHTMLをレスポンスとしてブラウザへ送るのとは異なり、動的WebページはPHP実行エンジンによって処理された結果をレスポンスとして送るページなのだそうです。例えば、ブログなどにアクセスしたとしましょう。そうすると最新の日記が見られるようになっていることがあります。これは動的にデータベースから最新の日記を取得出来るようにと処理を行っているからだそうです。サーバの中にはこのようにWebサーバというブラウザとやりとりする隊長のような機能があったり、PHP実行エンジンのような参謀みたいな機能があったりと様々な機能があります。インターネットの裏側では多くの機能が働きWebページを閲覧出来るようにしています。