SEO対策とセキュリティで企業をバックアップします。

インターネット上のアクセスボリュームUPをお約束します。

SEO対策を考慮したホームページ SSL化の導入作業の流れ(手順)

SEO対策を考慮したホームページ SSL化の導入作業の流れ(手順)


2月の後半にグーグルから本格的モバイルファーストインデックスとオールSSL化に関するアナウンスが出ました。3年ほど前から言われてきたことなのですがいよいよタイムリミットが迫っています。7月24日リリース予定のクロームブラウザversion 68ではhttps対応になっていないと安全ではないサイトということで警告が出るそうです。

6月末までには対応しておくべきでしょう。ついでにそのタイミングでモバイルファーストインデックスを行えば余計な二重投資は防げると思います。逆に一緒にやらないとアノテーション設定のURLがhttpsに変わるので変更を行う手間を考えたらこのタイミングで行うことがもっとも効率が良いという事がわかると思います。


※日本時間で平成30年3月28日にモバイルファーストインデックスが開始されました。逐次MFI導入している企業から置き換えてゆくそうです。MFIになっていない企業は最終的には自動でグーグルの中でMFIに置換されるようです。今年1年かけて置換されるため、最後の方でMFI対応していない会社のHPは置換されるのかもしれません。

アナウンス関連の記事

GoogleオールSSL化の理由はここにあり。
モバイルファーストインデックス
オールSSL化対応

今回はこれらの対応の中でもSSL化に関する対応の流れを説明しておきたいと思います

サイトをSSL化するには、証明書を購入してサーバに導入しなければならないのですが、大変複雑なプロセスが生じます。

また、WEBサーバに証明書を登録しただけではほとんどのサイトはSSL化対応が不十分なケースが多いです。下記のような流れが必要になります。

証明書のインストールの流れ

下記は専用サーバ系で証明書を購入から申請、導入までの手順です。共有サーバの場合はプロバイダーの管理画面で共有SSL、オリジナルSSL設置案内がサイト内にあるはずですからそれをお読みください。

WEBコンテンツ側の修正

専用サーバ、共有サーバで共通で使えるノウハウです。

分析ツールの設定変更

専用サーバ、共有サーバで共通で使えるノウハウです。

  • Google Search Consoleでサイトマップ(httpsの内容に置換後)の送信を行い最新のhttpsURLでインデックスをさせる。
  • Google Search Consoleのhttpsプロパティを新規作成
  • Google Analysticsの管理画面から既存プロパティhttps切り替え、ビューのhttps切り替え
  • Google Analysticsの目標設定にhttpsが影響がないか確認。
  • 分析タグコードを管理する各種ツールにてhttpsに設定変更、再認証を行う

検索エンジンのhttpsアドレスのインデックス反映状況

専用サーバ、共有サーバで共通で使えるノウハウです。

  • 検索エンジンの窓で「site:https://あなたのドメイン」で検索し出力結果を眺めhttpとhttpsの混在割合を確認し進み具合を見る。siteコマンドでhttpsで検索しても結果的に両方(http&https)出力されます。
  • もし、上記の検索結果から表示して欲しくない、あるいはhttpsに切り替わってくれない緊急性の高いものはGoogle Search Consoleの「URLの削除」を実行し新しいインデックス取り込みを促す。

タグ: , , , , ,

PHP Laravel framework入門(3) – テンプレートエンジンを理解する。


Laravelのテンプレートエンジンは標準でBladeというエンジンを使用しています。このテンプレートエンジンは比較的よくあるテンプレートエンジンの記法に近いのですんなり覚える事ができると思います。bladeもまたよくあるテンプレートエンジン同様にマスターレイアウトがあって、その上にパーツ&ブロック単位のテンプレートがある仕組みになっています。ヘッダとフッタはよくある共通部分ですから簡単振り分けて構築できそうです。

◯ resources/views/layout/master.blade.php

ちょっと見た感じでは他のテンプレートよりも見たことがないインクルードする幾つもの記法があることがわかりますね。マスターレイアウトはアウトラインを作るものです。

  • @yield  @yieldは継承ができませんが変数のデフォルト値が使えます。
  • @section  @sectionは最も使い勝手が良い変数等を継承できるのが特徴です。尚、記法に親テンプレと小テンプレでブロックの終わり方が異なるので注意しましょう。親の方では終了が@showで終わります。小テンプレは@stopや@endsectionを使用します。
  • @include @includeは最もシンプルなものでベーシックな変数の渡しのみ可能でその他はできません。

それでは次にHTMLのBODY部分を形成するテンプレートを見てみましょう。

◯ resources/views/page.blade.php

タグ: , , ,

PHP Laravel framework入門(2) – 簡単なプログラムを作る


本章では最初に簡単なhello worldを表示するプログラムを作成し基本的なLaravelの使い方を学んできます。まず最初にLaravelの環境構築で欠かせないコマンドartisanコマンドの機能のコレクションを確認してみましょう。

artisanコマンド

artisanがサポートするコマンド機能の一覧を確認してみましょう。artisanコマンドは機能が豊富で特に便利なのは他のフレームワークでも出てくるscaffoldな機能です。つまりコントローラやモデル、ビューをある程度雛形で用意してくれる機能を持っています。ゼロから作業するとMVCの関係性をもたせてプログラムを編んでゆく必要があり骨の折れる仕事ですがこの機能を使うと自動生成で雛形を生成するため作業が楽になります。また必要とするデータベースの定義をするとモデルやDB操作を簡単にするORMの機能、DB&テーブルを自動生成してくれます。

helloを出力するコントローラを作成する

コントローラはサイトの基本プログラムロジックを処理するバックグランドの要のエースとも言えるプログラムです。どのプログラムも考え始めるスタートをルーティングとコントローラを合わせるところから始めると理解しやすくなります。

この処理を実施したことでコントローラの雛形が作られています。 プロジェクト直下のappフォルダーの配下には既にhello用コントローラのboilerplate(雛形)が存在します。 正確には「app/Http/Controllers/Hello.php」と言う設置パスでファイルが生成されているので確認してみましょう。

無事にhelloのクラスができましたね。雛形なので中身の処理はありませんが器はできたことが確認できました。次にルーティングを考えます。結局大本の呼び出しはルータの記述から行われそこにしてしているコントローラが呼び出されます。次の処理はいきなりコントローラを呼び出すのではなくルーターから直接ブラウザへ出力を渡します。表示確認を取ってみましょう。

◯ routes/web.php

◯ サーバの起動

ブラウザから http://xxx.xxx.xxx.xxx:7500/hello と入力しアクセスしてみましょう。

問題なければブラウザ画面に「Hello World!」と表示されたはずです。今度は直接ブラウザへ返却するのではなく、先程作ったコントローラを経由して返却してみましょう。先程の記述はコメントアウトにします。代わりにhelloコントローラのクラス名とクラスで定義されている処理をさせるターゲット関数を記述します。「クラス名@関数名」のような表現で記述を行います。尚、反転箇所は記述の追加の部分です。

◯ routes/web.php

◯ app/Http/cintrollers/Hello.php

再度サーバを起動してhttp://xxx.xxx.xxx.xxx:7500/hello へアクセスすると「hello world from controller : )」が表示されましたか?表示されたら成功です。

コントローラからViewを通じて表示させる。

◯ app/Http/Controllers/hello.php

◯ routes/web.php

◯ resources/views/hello.blade.php

以上の作業が終わったらブラウザから「http://xxx.xxx.xxx.xxx:7500/hello/[あなたの名前]」でアクセスして見てください。画面上に大きな文字であなたの名前で表示されるはずです。

タグ: , , ,

PHP Laravel framework入門(1) – 準備編


LaravelはいまやSymfonyと人気を2分するPHPのフレームワーク。といってもSymfonyと全く異なるものではない。Symfonyの派生フレームワークと位置づけられている。良質なライブラリーで使いやすいのが人気。恐らく学習するコストが従来のフレームワークより少ない点が良いのだと思う。

それでは最初に準備に取り掛かろう。laravelを使用するにはPHPが必要だ。PHPはOSにバンドルされている最新のものを使うと良いだろう。LaravelはPHP7にも対応している。また様々なOSプラットフォームに対応しているがやはり定番のLinuxに導入し使うのが最も良いパフォーマンスを発揮するのは間違いない。

インストール前の準備

Laravelを導入する前には必要最低限の導入が事前に必要です。現在の最新バージョンは5.4になっており一番気をつける部分はPHPのバージョンです。

【PHP関連のコンディション】

  • PHP >= 5.6.4
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension

次に重要な事はcomposerモジュールが導入されていることです。入っていない場合は下記に従ってインストールを行いましょう。

ダウンロードしたセットアップファイルが問題ないか確認します。

一気にインストールを行います。

laravelのインストール

Composerはモジュールインストールのツールとしてphp関連のインストールでよく使われるツールです。laravelではプロジェクトの雛形やモジュールのインストール更新にはComposerを標準で使用しています。下記のコマンドを実行することでlaravelがインストールされます。

laravelのインストール

laravelの開発環境を用意するにはやり方が2種類あります。デフォルトの標準的なシステムの雛形をインストールする方法とある程度利用指向に合わせた雛形のインストールです。この開発環境の雛形を作ることをプロジェクトを作るといいます。下記は結果的に同じ処理を行っていますが2つ目の方法ではすでにある別のプロジェクトの雛形を使用して導入することもできます.

その1

その2

ローカルWEBサーバの起動

laravelの場合も最近のフレームワーク同様デフォルトでローカルWEBサーバを起動して開発中のものをモニターできます。例えばブラウザのアクセスならhttp://xxx.xxx.xxx.xxx:8000/でアクセスすると表示することができます。ホストの部分はデフォルトでローカルホストを指しています。そのため他の端末からモニターするにはホスト指定が必要です。

ホストとポート番号の変更については下記のように指定ができます。下記2つは最初の起動はサーバのIPアドレスを指定してリッスンするケース。2つ目はインターネット上のどのアドレスから来たものでも受け付ける起動です。

各フォルダーの役割について

【public】Public Directory

このフォルダーがlaravalのドキュメントルートフォルダーになります。Apacheサーバやnjinx等使用する場合にはここを起点(ROOTフォルダー)とするように設定を行います。

【config】Configuration Files

各種フレームワークの根幹の設定を行うファイル群が集まっているフォルダー

【app】Applicatipn program

プログラムロジックが集まっているフォルダーでコントローラや各種イベント処理、例外処理、ミドルウェア等のファイルが設置されるフォルダー

【bootstrap】

このフォルダーは、フレームワークの初期起動やオートローディングの設定を行うファイルを含んでいます。

【database】

このフォルダーは、データベースのマイグレーションとDBの初期データ(シーディング)を配置します。モデルの作成等を行うとDBの雛形が生成されます。

【resources】

このフォルダーは、ビューやアセットの元ファイル(LESS、SASS、CoffeeScript)、「言語」ファイルを配置します。

【storage】

コンパイルされたBladeテンプレート、ファイルベースのセッション、ファイルキャッシュなど、フレームワークにより生成されるファイルが保存されます。

【vendor】

Composer依存パッケージが配置されます。

【routes】

ユーザがアクセスした際に、指しているURLに対してサーバ側ではルータに記述されたパスと連動してコントローラやView,モデルが起動します

【tests】

自動テストを配置します。

タグ: , , ,