MinEMemO
【PHP】データの連番確認と、抜け番またはMAX+1を生成する関数

2020-06-04

はじめに データベースから持ってきた数字のデータをチェックし、「抜け番」または「MAX+1」を生成する関数を作成しました。 作成環境のPHPが5.3系だったので、コードは5.3系で動くものになっています。 何か不整合があれば教えてください。 またご利用の際は、ご自身でしっかりチェックを行い、自己責任でご利用をお願いいたします。 コード PHP /** サンプルデータ* DBなどから取得したりする流れになると思いますが、処理中に最後の番号を参照するので、昇順できちんとソートしましょう。*/ $numData = array ( 1 , 2 , 4 , 5 ) ; /*** 新規番号を抜け番 or MAX+1で発行する* @param {array} $numData DBや何かしら持ってきたNoのデータ配列* @return {number} 抜け番 or MAX+1*/ function issueNo ( $numData ) { $maxIdx = count ( $numData ) - 1 ; $range = range ( 1 , $numData [ $maxIdx ] ) ; //1~データの最後のNoで連番の配列を作成 foreach ( $range as $idx => $rangeNo ) { if ( $rangeNo !== $numData [ $idx ] ) return $rangeNo ; //抜け番を返して終了 } //MAX+1を返して終了 return $numData [ $maxIdx ] + 1 ; } 処理結果 抜け番があるデータを処理した場合 例えば array(1,2,4,5); をこの関数に渡し処理した場合は 抜け番の「3」がリターン されます。 抜け番がないデータを処理した場合 例えば array(1,2,3,4,5); のようなデータを処理すると MAX+1の「6」がリターン されます。 解説 ポイントはrangeです。 PHP $range = range ( 1 , $numData [ $maxIdx ] ) ; rangeで今回作成される配列は 1~取得データのMAX値の連番の配列 になります。 rangeで作成した連番の配列と取得したデータの数字の配列を比較する ことで、連番かどうかを確認しています。 以上です。 慣れないうちは頭で処理を想像するのが大変かもしれませんが、作っていれば慣れていくので大丈夫です
【Git/GitHub】Gitでバージョン管理を始めるときに最初にするコマンド

2020-06-01

はじめに 個人でGit、GitHubを使ったことはあるのですが、現職ではGitが採用されていないためチームでGitを使って開発するときにどういう風に使うかを具体的に知りたくて勉強しました。 今回はGitでバージョン管理を始めるときに最初にするコマンドをまとめておこうと思います。 ※前提としてGitがインストール済でGitHubアカウントは既に持っている状態 ※200606にolの番号リストで表示していた部分をh3に置き換えました。 それでも微妙だけど、単純に使っていくため致し方なし😐 GitとGitHubとは ざっくりですが、簡単にいうと以下のようなものです。 Git ファイルをバージョン管理する仕組み GitHub Web上でファイルの保管、共有する機能 既存のプロジェクトから作業を始める場合 PCの作業フォルダにコマンドで移動 cd ディレクトリ名 ※Gitコマンドではありません。 Windows/Macの共通のコマンドでフォルダ移動するためのコマンドです​ ローカルリポジトリにリモートリポジトリの内容をコピー(CLONE) git clone リポジトリ名​ ※リポジトリ名はリポジトリのhttps~~.gitのURLでOK リポジトリとは バージョン管理においてファイルやディレクトリを保存する場所のことをリポジトリといいます。 ローカルリポジトリ:作業者のPC内のリポジトリ リモートリポジトリ:Web上のGitHubのリポジトリ 新規プロジェクトから作業を始める場合 PCの作業フォルダにコマンドで移動 cd ディレクトリ名 ※Gitコマンドではありません。 Windows/Macの共通のコマンドでフォルダ移動するためのコマンドです 移動先のフォルダでローカルリポジトリを作成 git init​​ GitHubでリモートリポジトリを新規作成 リモートリポジトリがない場合はWebでGitHubにログインし、リポジトリのページへアクセスし 「New」 をクリックすると作成できます。 リポジトリ新規作成時にReadmeファイルを同時に作成するチェックボックスがあります。 チェックせずに進むとローカルリポジトリに紐づけるために、以降必要なコマンドを表示してくれるので参考にしてみてください。 以降の git remote や git push の流れなどが書いてあります。 originという名前にリモートリポジトリのURLを紐づける git remote add origin リモートリポジトリのURL​ git remote をしなかった場合は、毎回リモートリポジトリのURLを打たないといけなくなります。 またoriginとはGitの慣用句みたいなもので、アクセス先のリモートリポジトリのデフォルトの名前(リモート名)です。 例えば git push origin master というコマンドなら、リモートリポジトリのmasterブランチへpushするという意味になります。 ローカルリポジトリにファイルを作成し、リモートに初回プッシュをしておく git push -u origin master -uについて 今後pushするときに origin master を以後省略できるようにするためのpushコマンドのoptionです。 git pushのデフォルトが origin master なので省略できます。 -uは 初回のみ 使います。 これでGitでバージョン管理を行う準備ができました。 このあとは add commit push など様々なGitコマンドを利用しバージョン管理を行いながら開発をすすめます 今回参考にさせていただいた教材について 教材はUdemyの有料の動画教材です。 Git: もう怖くないGit!チーム開発で必要なGitを完全マスター メンターのPCがMac、テキストエディターがAtomなので環境が違うと少し詰まりますが、個人的には学習を進める上では大きな障害にはなりませんでした。 ※Windowsの場合はファイル操作などの簡単なコマンドを調べる必要はあります。 ※Git利用時にAtomを紐づけてるのですが、私はVS CODEを使っており紐づけがうまくいきませんでした。 ※テキストエディターがなくてもGitコマンドの -m というオプションを使えば問題なく進めます。 内容自体はとてもわかりやすいので、本などから入るよりおすすめ です。 操作しながら学べて、メンターの経験からこうしてるという話もあるので理解がしやすいです。 メンターの山浦清透さんにはとても感謝しております。 ありがとうございます。
【MySQL(MariaDB)】intの桁設定について

2020-05-19

はじめに 先日ひさしぶりにデータベースのテーブル作成をしたときに INT の桁数ってどういう意味だったけ?となったので調べました。 先に答えをいうと  ZEROFILLを設定した場合に有効な表示桁数  ということになります。 INT型には、TINYINT、SMALLINT、MEDIUMINT、BIGINT等いくつかありますが、本記事はよく使うINTのみ記載しています。 上記とINTの違いは保存できる数値の大きさになります。 INT型の桁数について まずサンプルで以下のような設定でテーブルを作成しました。 table_kouzou 今回気になったのは (3) の部分。 調べてすぐ出てくるのは 桁数という回答。 実際に3桁になるのか登録して確認。 table_data01 うん。4桁入ってしまっている。 こうなると(3)の桁数の意味がわからない。 実際何なのかしらべたら、(3)は 表示桁数 とのこと。 表示桁数っていっても実際は4桁はいってる!ってなりますが、この桁数の設定は ZEROFILLという0埋めを設定 したときに始めて意味があるものらしいです。 なるほど..さっそく試してみよう! 構造>>変更 から 属性を「UNSIGNED ZEROFILL」  に変えます。 table_data02 すると3桁もないデータ「1」は以下のように3桁で0埋めになります。 table_data03 上記画像のとおり、(3)は 「UNSIGNED ZEROFILL」を適用したときの桁数 ということだったんですね。 じゃあINTはどこまでの数値が入るの? という疑問ですが、初期設定では 4バイトの「-2,147,483,648 ~ 2,147,483,647」の範囲 が入ります。 2,147,483,647を超えた場合は2,147,483,647 で登録されます。 試しに2147483647+1の2147483648をINSERTしてみます。 SQL INSERT INTO ` int_test ` ( ` test ` ) VALUES ( 2147483648 ) 結果は 2147483648 は 2147483647 で登録されています。 table_data04 これで(3)の桁数の意味がわかってすっきりしました。 なお桁数を設定しなかった場合は(11)で設定されます。 (11)はデフォルトらしいのですが、個人的には正直ZEROFILLを使うことは少なそうなので(11)でいいか。という結論になりました。 またZEROFILLを設定した場合はかならずUNSIGNED になります。 以下参考までに。 UNSIGNEDとは INTの初期設定では4バイトの「-2,147,483,648 ~ 2,147,483,647」の範囲で数値の登録が可能です。 UNSIGNEDを設定した場合は  「0 ~ 4,294,967,295」の範囲  で登録が可能になります。 データーベース系は意外とネット上に情報が少ないので、難しいです! 日々精進!!
Wi-Fi設定とIPv6

2020-05-01

はじめに Y!mobile + SoftBank 光 でおうち割の割引を受けていたのですが、Y!mobileを解約。 おうち割が外れること でWi-Fiを使うためだけに、 毎月約1500円の支払い が発生するのはかなり クレイジ~ だと感じたので(既知の事実)、 SoftBank 光のWi-Fiマルチパックを解約 しました。 ※Wi-Fiマルチパック(467円税抜)+光BBユニット(990円税抜) 解約にあたり、Wi-Fiルータを購入し環境を構築していたのですが、**Wi-Fiマルチパックがないと光BBユニットで Wi-Fiが使えなくなる **という問題や 、 IPv6などでひっかかりうまくつながらなくなった ので、 解決方法 などをブログにしておこうと思います。 ちなみにAmazonで購入したWi-Fiルータはこちら 繋がらなくなったときの事象 YouTubeの利用とGoogle検索の結果までしかアクセスできない 検索結果の先のページや他のWEBサイトにアクセスできない Twitterで表示はできるが投稿・更新ができない 繋がらなくなった原因 いろいろ調べてるうちにわかったのですが、今回購入したルータで初期設定を行った際に IPv6で通信を行う設定 になっており、 大多数のサイトが****IPv4にしか対応していないため繋がらなくなった ということが原因でした。 YouTube含むGoogleのサイトはIPv6に対応している数少ないサイトだったので繋がっていたということですね。 ただ光BBユニットでWi-Fiを利用しているときはIPv6でも問題なく利用できていた+IPv6でのメリット があるので、個人的には引き続きIPv6を利用したいと考えました。 IPv6とは IP(インターネットプロトコル)という通信に関する規約を定めたものでv6はその種類の一つ。 従来の形式が IPv4 で新しい形式が IPv6 になります。 インターネットはIPアドレスという被らない数値をコンピュータごとに発行し通信がされているのですが、その数値パターンがv4では足りなくなってきているのでv6が登場しました。 参考元 https://ja.wikipedia.org/wiki/IPv6 IPv6のメリット あまり詳しくないので詳細は参考元を見ていただきたいのですが、ざっと以下の点を メリット と考えています。 IPv4は枯渇していくのがわかっており、IPv6が普及すると思うのでIPv6を継続利用したい 従来の接続方式のPPPoEではなく、IPoEという接続方式なので速度があがる 機器の初期設定でPPPoEの場合に必要だったID、パスワードが不要になる ※SoftBank 光なら ご利用開始のご案内 や MySoftBank で確認できる S-IDとパスワード がPPPoE設定に必要なID、パスワードになります。 ※パスワードは確認ができないので、自身でしっかり記録しておく必要があります( やっかい ) IPv6のメリットとデメリットについて。通信速度が速くなる条件とは? 事象を解消した方法 結論ですが、光BBユニットに購入したWi-Fiルータを接続してWi-Fiを使う ということでした。 IPv6を使いながら、数多くあるIPv4のサイトに対応するためには 「IPv6 IPoE + IPv4」 という通信の仕組み(v4とv6両方つなげるようにする)を利用しないと駄目だったんです。 SoftBank 光でIPv6 IPoE + IPv4を使うためには、 光BBユニットが必須 ということを思い出し以下のように接続をしなおしたらうまくいきました… simple-connect 最後に 正直数年に一回確認するかしないかなので、こんな難しい仕組み覚えていられません🙄 多くの人がはまってしまうポイントだと思うので、 光BBユニットが必須はやめて ほしいですね。 「IPv6 IPoE + IPv4」の利用条件はインターネットの提供元で異なり、提供元の会社次第のようなので、ただ通信があれば利用できる状態であればこんなことにはならなかったんです。 ※IPv6 IPoE + IPv4 は 「IPoE/IPv4 over IPv6」 ともいわれるみたいです。 IPv6とは? 利用できない原因はルータ?プロバイダ? どこのなにを設定? 接続方法は? とか確認するのにすごく時間がかかりました。 こんなことわからずに挫折する人はかなりいると思います(#^ω^) 同じような事象で接続できない!という方の助けになれば幸いです。 お疲れさまでした! おまけ SoftBankのおうち割が解除されるとどのくらい値段があがるのか。 今回のパターンではありますがざっと記載しておきます。 参考になれば幸いです。 Y!mobile + SoftBank 光 のおうち割の割引額 今回の契約していたプラン Ymのスマホプラン:スマホプランM/R SB固定回線:SoftBank 光 おうち割加入に必要な固定回線の指定オプション ※光BBユニットレンタル + Wi-Fiマルチパック + BBフォン 受けれた割引額 -200円/月 です。 ※おうち割の-700円+固定回線の指定オプション500円 = 200円割引 おうち割とは Y!mobileの対象のプラン + 固定通信サービス*1 + 固定通信サービスの契約者で指定オプション*2のに加入することで適用される割引 *1 SoftBank 光やSontBank Air *2 指定オプションとは 以下3つのオプションを合わせて、本来であれば1500円程度かかるものが500円で契約できるものです。 光BBユニットレンタル(467円税抜/月) Wi-Fiマルチパック(990円税抜/月)/Wi-Fi地デジパックのいずれか ホワイト光電話/BBフォン/光電話(N)およびBBフォン(0円/月)のいずれか ※この情報は 20/05/01 時点です。 詳細は公式を見てみてください。 おうち割 光セット(A)/ 光BBユニットレンタルの料金 Wi-Fiマルチパックの料金 地デジチューナープラス/Wi-Fi地デジパックの料金 BBフォンの料金 おうち割が外れた時に発生する金額 固定回線の指定オプション500円が おうち割解除 により 1457円/月(税抜) で請求されます。 ※ 光BBユニットレンタル(467円/月)+Wi-Fiマルチパック(990円/月)+BBフォン(0円/月) = 1457円/月(税抜)(今回の私の場合) -200円/月しか割引 を受けれてなかったのに、**外した瞬間に毎月1457円/月(税抜)**の請求がくるなんて恐ろしいですね。 なので、今回はWi-Fiマルチパック(990円/月)を外して、Wi-Fiルータを買って、IPv6のWi-Fiを整えたというわけです。 ソフトバンクでの解約について ソフトバンクの解約は大変です。 電話がつながらないので、解約したい日が決まってる場合は 日にち単位で余裕 を持ったほうが良いです。 月跨ぎでの料金には注意 しましょう。 個人的には チャットがおすすめ です。 WEBに関しては導線が複雑すぎてほぼうまくいきません。 WEBでオプションを停止しようとしたら、以下三つのログインが必要でした。 生年月日+郵便番号+電話番号 SID Yahoo Japan ID Yahoo Japan IDに関しては 書類に書いてない +YmobileのYahoo Japan IDでもログイン不可だったので、もうお手上げでした。 ※今はコロナ情勢の縮小で電話は切れるし、チャットは閉まってるので連絡手段がほぼなく解約がほんと難しすぎました。 IPv6のことといい、ややこしくて数日かかる原因はすべてソフトバンクの仕組みのせいでした。 調べるだけでもかなりの疲労感なのに、連絡取れないことが多々あるので、皆様も気を付けてください。
【Google AdSence】WordPress ads.txt 設置方法

2020-04-30

はじめに Google AdSenceのTOPに以下のようなアラートが出ていたため、ads.txt(アズテキスト)というものを設定しました。 ads-txtアラート 設定方法を記載しておきます。 サーバーはロリポップ使ってます。 よろしくお願いします。 ads.txtとは 悪い人がなりすましを行い、 広告収入を奪っていく ようなことがあるため、それを 防いでくれる という仕組みです。 せっかくの収益を奪われたら勿体ないですし、ads.txtの設定自体はそんなに難しくないので、設置しておくことをお勧めします。 設定後は反映に時間がかかるため一旦やってみて、しばらくアラートが消えるか様子見をしてみてください。 ※最長で1か月ほどかかることがあるそうです。 ads.txt に関するガイド https://support.google.com/adsense/answer/7532444?hl=ja ads.txt に関する問題のトラブルシューティング https://support.google.com/adsense/answer/9785860?hl=ja&ref_topic=7533328 設定方法 Google AdSenceにアクセス 「今すぐ修正」をクリック ads-txt02 「1 つのサイトで使用する ads.txt ファイルを作成する~」の枠が表示されます 「ダウンロード」をクリック ads-txt03 「ads.txt」がダウンロードされます FTPを開き、「ルートレベルのドメイン」にアップロード ルートレベルのドメインとは URLでいうとドメインの直下にあたる場所です。 なので、アップする際はFTPを開いて一番TOPの場所にアップロードしてください。 例)当ブログ https://minememo.work/の場合https://minememo.work/ads.txtという場所になります。 ※WordPressで構成ファイルがドメインの直下ではなく、作成したフォルダの中(1階層奥など)に配置してある場合はそのフォルダをTOPとして、ファイルを配置したらうまくいきました。 「ロリポップ!FTP」を使う場合 ロリポップ!の管理画面へアクセス>>サーバーの管理・設定>>ロリポップFTPをクリック してFTPへアクセスしてください。 FTPとは ファイルを送受信する仕組みのことを指します。 今回のFTPはファイルをアップロードするためのツールという意味合いでもあります。 アップロードが完了したらアラートが消えるまで数週間様子見してください。 お疲れさまでした! (前回は2週間でしたが、今回は1日で反映してアラート消えました!やったね🐭)
【WordPress】ブログサイト構築の全行程まとめ

2020-04-29

はじめに WordPressのブログサイト構築の全行程を体系的に記載していきます。 詳細が別に必要なものは別記事へのリンクにします。 目次の項目を「一個一個落ち着いて」順番通りに設定 していけば、おそらく インストール>>セキュリティ設定 まではできると思います。 セキュリティ設定までやれば、あとはGoogleのツール(Adsense、Search Console、Analytics)を導入したり、好きなテーマでブログを書き出すだけ! という感じなので大変ですが、これを見て出来たという人が増えてくれたらうれしいなと思います。 (しかし..WEB系の仕事してても大変なので、本当に皆よくやるな~と思います😵) 利用環境は以下の通りです。 PC:Windows10 レンタルサーバー:ロリポップ 利用テーマ:JIN(有料) なおこの設定方法は 当ブログを構築する際におこなったことで、人によって環境の相違、手順の違い、必要なものが異なる場合もある と思います。 レンタルサーバなど環境一致しない部分は、ご自身の環境に置き換えて参考にしていただければ幸いです。 レンタルサーバー契約 このブログではロリポップのスタンダードプランを契約しました。 選んだ理由は以下の通りです。 ブログが波に乗るかわからないので、一旦コストを抑えたい ライトだと安いがWordPressが重いらしい 周りの評判をみてとりあえずで始めるならロリポップのスタンダードプラン 低価格だが無料SSLがついている 本格的にアクセスが増えたらエックスサーバー1択 ロリポップだとアクセスが増えたときにどうなるのか体験してみたい というような感じですね 契約はロリポップ公式の「お申込み」ボタンからどうぞ。 10日無料も何回でもできたので、気軽にやってみるといいかもしれません。 ロリポップ WordPress簡単インストール まずはWordPressをインストールします。 インストール方法はロリポップのマニュアルを確認してください。 WordPress(ワードプレス)簡単インストール サイトURL:任意入力はインストール先のフォルダ名になります サイトのタイトル:サイト名なので好きなものにしてください WordPressセキュリティ設定 インストールが完了したらセキュリティ設定を行っていきます。 WordPressのプラグインをインストールして、プラグインごとに設定をしていきます。 Akismet Anti-Spam (アンチスパム) スパムコメント対策のプラグインです。 大まかな流れは以下の通りでほかの設定は特に触っていません。 WordPressのプラグインでインストールし有効化 Akismetアカウントを設定 AkismetのAPI キーを取得(無料版でOK) WordPressでAkismetの設定からAPI キーを登録 こちらのサイトを参考にさせていただきました。 【スパム対策】Akismetの最新の設定方法を紹介 スパムコメントとは 大量の広告などのメッセージを無差別に投稿すること WP Multibyte Patch WordPressを日本語最適化(文字化け防止)するプラグインです。 特に細かい設定は必要ありません。 WordPressの管理画面>>プラグイン>>新規追加 WP Multibyte Patchで検索しインストール 有効化をクリック 日本語最適化を行う理由などの詳細はこちら 【再入門】WP Multibyte PatchをWordPressで有効化してみました! SiteGuard WP Plugin 初期同梱のプラグイン。 主に管理画面などを守るためのセキュリティプラグインです。 以下の2項目のみ設定しました。 ログインページ変更 WordPressの管理画面のURLは基本構造が同じなっており、だれでもログイン画面にアクセスできる状態になっています。 そのためURLを変更しアクセスできないようにします。 有効化にした時点で管理画面のURLが変わるので、URLはかならずして確認しメモてしておいてください。 ログインページ変更をクリック 「ON」をクリック 「変更後のログインページ名」をメモする 「管理者ページからログインページへリダイレクトしない」をチェック 「変更を保存」をクリック 「管理者ページからログインページへリダイレクトしない」とは 未ログイン時に変更前URLにアクセスした場合に、404 Not Foundとなり変更されたログインページにリダイレクトしないようにします。 当ブログの場合はURLは以下のようになります。 変更前 http://minememo.work/wp-admin/ 変更後 https://minememo.work/初期値または設定した任意のパス もし変更後のURLを忘れた場合でも確認できますが、あまりおすすめは出来ない方法なのでちゃんとメモしておきましょう 変更後のURLを忘れた場合の確認方法 ロリポップの管理画面へアクセス ↓ サーバーの管理・設定 ↓ ロリポップ!FTPにアクセス ↓ WordPressがインストールされてるフォルダのTOPにある.htaccess というファイルの中を確認 ↓ 以下のような記載がある個所に「初期値または設定した任意のパス」が書いてあります。 ```htaccess:title=htaccessRewriteRule ^初期値または設定した任意のパス(.*)$ wp-login.php$1 [L]``` 画像認証 ログイン画面などにひらがなの文字を入力したりする画像認証をつけます。 一応つけていますが、個人的にはめんどくさくなったら外してもいいかなと感じています。 画像認証をクリック 「ON」をクリック お好みのものを選択 「変更を保存」をクリック All In One WP Security & Firewall SiteGuard WP Pluginにはない機能ももいっているセキュリティプラグインです。 SiteGuard WP Pluginで設定していないような機能をONにしました。 ※全編英語だけど、日本語翻訳しながら頑張りました笑 以下のサイトを参考に一部機能をONにしました。 https://keiei.co/all-in-one-wp-security-firewall/ WP Generator Meta Tag & Version Info WordPressのバージョンは脆弱性を判断する材料になるために、ソース内に表示されるバージョン情報を消します。 WP Security>>Settings>>WP Version Info チェックボックスをONにして「Save Settings」をクリック Force User Logout Options 設定した分数の間に何もしな買った場合に自動ログアウトするための機能です。 WP Security>>User Login>>Force Logoutをクリック Enable Force WP User LogoutのチェックボックスをONにします。 Logout the WP User After XX Minutesに分で時間を入力 ※600なら10時間4. 「Save Settings」をクリック Registration Honeypot 悪質なロボットへの対策です。 ロボットは通常、登録フォームから各入力フィールドへ入力するので、特別な隠されたハニーポットというフィールドの値も送信します。 その値が含まれていたら、ロボットがフォームを送信した可能性が高いとして処理されます。 WP Security>>User Registration>>Registration Honeypotをクリック Enable Honeypot On Registration PageのチェックボックスをONにします 「Save Settings」をクリック Change Database Prefix データベースのテーブル名の接頭辞(共通の先頭の文字)を変更します。 初期は WP数値_テーブル名 問というような形式になっているので「WP数値」をオリジナルのものに変えることでセキュリティを向上させます。 注意点が多いため作業の際は十分に注意してください。 適用タイミングについて この機能を使う場合はWordPressをインストールしてすぐが好ましいです。 データやプラグインが増えてる場合はどんな影響が出るかわからないので、管理画面の記載のある通り BAKUPをとって自己責任 で行ってください🤖 用語補足 データベース:ブログなどのデータが登録されているサーバー上の大きな箱みたいなもの。 ロリポップなどのサーバーの管理画面からアクセスできます。 テーブル:データベースの中の各データの部屋みたいなもの 接頭辞(プレフィックス) :単語の先頭につける文字。 プログラムでは名称の被りを避けるため、決まった単語を頭につけることがあります。 それでは設定にはいります。 まずロリポップの管理画面に移動します。 ロリポップ管理画面>>サーバーの管理・設定>>ロリポップ!FTPをクリック FTPが開くのを待ちます WordPressのファイルがインストールされているフォルダのTOPにある 「wp-config.php」をクリック 「現在の属性」の部分を600に変更 「保存する」をクリック wp-config.phpのパーミッションについて(書き込み権限の設定) この作業が終わったら、必ず 即時400に戻す ようにしてください。 WordPressの設定ファイルなので、セキュリティ上書き込み不可の400にしておく必要があります。 (400=呼出のみ/600=呼出、書込) またこちらのファイルも重要なファイルなので、 作業前にBACKUP を取っておくことをお勧めします。 それではWordPressの管理画面にもどります(‘◇’)ゞ WP Security>>Database Security>>DB Prefixをクリック Generate New DB Table Prefixのテキストボックスに任意の文字を入力 「Change DB Prefix」をクリック 更新が完了した後はおかしなところがないか確認 任意の文字は半角英語 が良いです。 プログラムの特性上日本語は避けましょう。 経験上だいたい「小文字英数字とアンダースコア」で構成します。 Prevent Access to Default WP Files readme.html、license.txt、wp-config-sample.phpへのアクセスを禁止します。 これらのファイルへのアクセスを防ぐことにより、潜在的なハッカーから重要な情報(WordPressバージョン情報など)を隠します。 WP Security>>Filesystem Security>>WP File Access Prevent Access to WP Default Install FilesのチェックボックスをONにします。 「Save Settings」をクリック Firewall この機能を使用すると、サイトのいくつかの基本的なファイアウォールセキュリティ保護ルールをアクティブにできます。 Firewallは有名なのですが、細かい機能は把握していません。 かけすぎて弊害がでてもいけないので、参考サイトを参照し以下2箇所を設定しました。 参考サイト All In One WP Security & Firewallの使い方とおすすめの設定方法 WP Security>>Firewall>>Basic Firewall Rules。 Enable Basic Firewall ProtectionのチェックボックスをONにします。 Disable Pingback Functionality From XMLRPCのチェックボックスをONにします 「Save Basic Firewall Settings」をクリック ※Brute Force対策やRename Login PageはSiteGuard WP Pluginで設定しており、不要なので設定はしませんでした。 Edit Author Slug 「公開URL + ?author=1」でURLにアクセスされた際に登録されているユーザ名が表示されるのを防ぎます。 ユーザ名はWorPressの管理画面のIDなので隠しておきたい情報になります。 例えば本ブログに「公開URL+?author=1」でアクセスした場合URLがこのようになります。 https://minememo.work/?author=1 でアクセス ↓ https://minememo.work/minememo/taka が表示 ※takaの部分に本来はWorPressのIDが表示されます ※今表示されているtakaは自分で設定した表示用の文字になります プラグイン>>新規追加>「Edit Author Slug」をインストールし有効化 ユーザ一覧>>変更したいユーザ名をクリック IDの代わりに表示するニックネームに好きな名前を入力 ※ユーザ名がWordPressのIDです 「ブログ上の表示名」は決めたニックネームにします 「投稿者スラッグ」という欄が下のほうにあるので、表示してもいいものを選択 ※投稿者スラッグ:?author=1 でアクセスした際にURLの末尾に表示される名前 プラグイン>>インストール済みのプラグイン>>Edit Author Slugの設定をクリック 投稿者ベースに任意の文字を入力 ※URLになるので半角小文字の英語やハイフンが良いと思います 「変更を保存」をクリック 「投稿者スラッグ」はEdit Author Slugが有効化されていないと表示されません。 以上でセキュリティの設定が完了です。 個人的に調べた範囲なので、何か他にしたほうがいいもの、しなくていいものあればぜひ教えてください! 長いですね..疲れたら無理せず休憩しましょう! パーマリンク設定 パーマリンクとは記事を作成する際に生成される記事のURLになります。 こちらはSEOの観点から 必須 に近い設定になります。 記事が増えたりする前にぜひ設定しておきましょう。 詳細は別記事に記載していますので、「参考」をご覧ください。 【WordPress】パーマリンク設定 独自ドメイン設定 独自ドメインを取得するメリットは「SEO的に強いから」というのがメインの目的になります。 こちらもブログが動き出す前に設定しておいたほうが良い項目です。 詳細は別記事に記載していますので、「参考」をご覧ください。 【WordPress】独自ドメイン設定 独自SSL(無料) 取得したドメインに独自SSL(無料)を適用します。 SSLとは通信時の情報を暗号化しセキュリティをたかめることです。 Google的には必須的な項目になるため、設定しておいたほうが良いです。 詳細は別記事に記載していますので、「参考」をご覧ください。 【WordPress】ロリポップ独自SSL(無料)設定 301リダイレクト 旧ドメインにアクセスした場合に、繋がらないので新ドメインへリダイレクト処理を行います。 301リダイレクトを行うことにより、クローラーに正規の移転(恒久的なリダイレクト)と認識させSEOに悪影響が出ないようにします。 WordPress【WordPress】301リダイレクトの設定 Goolgle系(収益化、検索設定、サイト分析)のツール導入について 以下の理由でうまくまとめれませんでした(m´・ω・`)m ゴメン… 導入方法が利用しているWordPressのテーマごとに異なる ツールごとに登録し設定、またはSite Kit by Googleというプラグインを通して設定する方法など複数ある 私事で申し訳ないのですが、すでにツールごとに登録しており新規登録ではなく追加設定が必要だった 参考先は載せておきますので、参照の上登録、設定をしてみてください。 Site Kitとは Site KitはWordPress向けの無償のオープンソースのプラグインです。 WordPressの管理画面でAdsense、Serch Console、Analyticsをまとめて参照、アクセスできるようになる便利ツールです。 AdSense に接続し、WordPress サイトで広告を表示する Goolgle Adsense(収益化)へのお申し込み Goolgle Adsenseで収益化するためにはURLの登録、紐づけが必要です。 AdSense へのお申し込み 【Google AdSence】アドセンス ads.txt 設置方法 Goolgle Serch Console(検索結果の監視、管理、改善) Googleの検索結果にサイトを表示するためには、Googleの検索エンジンにサイトを通知し、インデックスというものにサイトを登録してもらう必要があります。 またGoolgle Serch Consoleを使うことでサイトが更新された際に、Googleの検索エンジンに自動で再通知をしてくれるようになります。 Google検索での検索結果に、サイトを表示したい場合はぜひ設定をしておきましょう💡 【WordPress】サイトマップ作成からSearch Console登録までの全手順 Goolgle Serch ConsolはGoogleのマニュアルで「URL検査ツール」と記載されている場合があります。 Google Analytics(サイト分析) Googleが提供するアクセス解析ツールです。 サイトの訪問者数や見られているページなどアクセス状況が確認できます。 毎日どのくらい見られてるかがわかるとモチベになるので、ぜひ設定しておきましょう。 アナリティクスのスタートガイド その他 プライバシーポリシー アナリティクスなどの分析ツールやAmazonアソシエイトを使っていたする時点で、プライバシーポリシーへの記載が必要になります。 正直難しい内容ではありますが、参考になるサイトを参照し作成しておきましょう。 当ブログでもAmazonアソシエイト使えるようになったら追記しないとです💡 【コピペでOK】プライバシーポリシーの書き方|AdSense・Analytics対策 最後に 長~い本当に設定お疲れさまでした👍 あとは長くブログを続けていくだけですね。 お互い気軽に頑張りましょう~🐹
【WordPress】301リダイレクトの設定

2020-03-16

はじめに この設定方法は当ブログを構築する際に調べたものになります。 人にとって必要なものが異なる場合もあると思いますが、あらかじめご了承をお願いいたします。 利用環境は以下の通りです。 PC:Windows10 レンタルサーバー:ロリポップ 利用テーマ:JIN(有料) 301リダイレクトとは ドメイン変更などでURLが変わった際に、旧URLにアクセスした場合に、繋がらないので新ドメインへリダイレクト処理をします。 せっかくアクセスしてもらったのにも関わらず、正しいページにURLに繋がらなかったらとても、もったいないです。 SEO的にもマイナスになるので、URLに変更があった際はぜひ設定しましょう。 301とは クローラーに正規の移転(恒久的なリダイレクト)と認識させるためのSEO対策の1つです。 クローラーとは 検索対象となるWebコンテンツの情報を収集するロボットのことです。 クローラーに収集されることで検索対象として認識され検索結果に表示されるようになります。 301リダイレクト設定方法 .htaccessというファイルの機能をつかってリダイレクトをおこないます。 個人的にいろんな記事をみましたが、どれをしてもうまく動かなかったので、 結局 RewriteCond を理解して自分で作成しました( `ー´)ノ Apache RewriteCond の基礎知識 https://weblabo.oscasierra.net/apache-rewritecond-base/ それでは設定していきます!( `ー´)ノ .htaccessに記載するコードを作成 まず.htaccessに記載するコードを作成しましょう。 コードのテンプレはこちらです。 下のコードをコピーしてテキストエディタやメモ帳で編集してください。 .htaccess # 301 Redirect<IfModule mod_rewrite.c># 以下いずれかの RewriteCond の条件にあたれば 新URL へ301 Redirectします# 条件1 旧ドメインの場合RewriteCond %{HTTP_HOST} ^旧ドメイン [OR]# 条件2 ドメインにwwwがある場合RewriteCond %{HTTP_HOST} ^www\.(.*) [OR]# 条件3 httpでのアクセスの場合RewriteCond %{HTTPS} offRewriteEngine OnRewriteRule ^(.*) 新URL$1 [R=301,L]</IfModule> テキストエディタとは プログラムのコードを書くための多機能なメモ帳のようなものです。 最近はVisual Studio CodeことVS CODEが有名ですね。 無料で試せるので、興味ある方は試してみてください。 https://azure.microsoft.com/ja-jp/products/visual-studio-code/ コードの作り方 コードの作り方は以下のとおりです。 わからない場合はコードの作成例を参考にしてください。 「新URL」に新しいサイトのURLを記載 「旧ドメイン」に古いドメイン部分を記載 完成 コードの作成例 URLが以下のように変更になった場合の例です。 旧: http://memo.chips.jp/wp ↓ 新: https://minememo.work/ ※ #部分はコメント(メモ)で無くても動きます .htaccess # 301 Redirect<IfModule mod_rewrite.c># 以下いずれかの RewriteCond の条件にあたれば 新URL へ301 Redirectします# 条件1 旧ドメインの場合RewriteCond %{HTTP_HOST} ^memo.chips.jp [OR]# 条件2 ドメインにwwwがある場合RewriteCond %{HTTP_HOST} ^www\.(.*) [OR]# 条件3 httpでのアクセスの場合RewriteCond %{HTTPS} offRewriteEngine OnRewriteRule ^(.*) https://minememo.work/$1 [R=301,L]</IfModule> コードの機能要約 主な機能は以下になります。 旧ドメインを新URLへ301リダイレクト www付きのURLの場合はwwwなしへ統一するためwwwなしURLに301リダイレクト httpのURLの場合はhttpsへ301リダイレクト .htaccessというファイルを編集する コードの作成が完了したら、.htaccessというファイルにコピペして保存します。 ロリポップ管理画面>>サーバーの管理・設定>>ロリポップ!FTPをクリック ※FTPのツールがある場合はそちらでもOKです。 WordPressがインストールされているフォルダの先頭にある .htaccess をひらく 先ほど作成したコードをコピー # BEGIN WordPress の上に作成したコードを記載し貼り付け 万が一失敗した場合は、WordPressにアクセスできなくなったり、プラグインがおかしくなる可能性があります。 必ずバックアップをとって いつでも戻せる状態で作業を行ってください。 動作確認して問題なければ完了です( `ー´)ノ お疲れ様です!
【WordPress】独自ドメイン設定

2020-03-15

はじめに この設定方法は当ブログを構築する際に調べたものになります。 人にとって必要なものが異なる場合もあると思いますが、あらかじめご了承をお願いいたします。 利用環境は以下の通りです。 PC:Windows10 レンタルサーバー:ロリポップ 利用テーマ:JIN(有料) 独自ドメインとは 各WEBページの独自のURLのことを言います。 本ブログのURLでいえば「minememo.work」の部分にあたります。 独自ドメインはSEO的にも信頼があがるため、アクセス数を伸ばしたい場合は特に取得しておいたほうがいいものになります。 さっそく取得、設定をしていきましょう! 独自ドメイン取得方法 ムームードメインやお名前.comなどのドメインを販売しているサイトで取得します。 このブログはムームードメインで独自ドメインを取得しています。 取得元に関しては、特に大きな差はないのでどちらでも好きなほうでOKです。 取得自体はそんなに難しくないので、各サイトにアクセスして取得してみてください。 ムームードメイン公式ページ https://muumuu-domain.com/ 仕事や収入アップにつなげたいという思いで始めたブログだからなので、当ブログは .work を選びました! ドメインの料金については以下の種類があるので、 特に更新料金については注意 して検討してください。 取得料金:最初だけ発生する費用 更新料金:一年たつと更新が必要なのですが、その際に発生する料金 移管料金:ドメイン移管とはドメインを管理する管理業者を変更すること 継続して使う場合は「取得料金」が安いものよりも、毎年支払う「更新料金」が安いほうが良い ですね💰 WHOIS公開情報 ドメインの持ち主の住所などを登録し、WEB上で公開し確認できるようにすること。 個人情報を出したくない場合 は、代わりにムームードメインなどドメインを管理する管理業者の情報を取得者として登録ができる 「弊社の情報を代理公開する」を選択 します。 ※当ブログでもこの「弊社の情報を代理公開する」を選択しています。 ※住所については登録後に割とエラー報告のメールがくるので、入力規則にそって正確に入力しましょう。 ネームサーバ(DNS) ざっくりいえばですが、ドメインとWebサーバーを結びつけるための名前になります。 ムームードメインで取得する場合は、サーバーがロリポップだと取得時にネームサーバ(DNS)でロリポップを選択すればOKです。 独自ドメインをロリポップに設定 ドメインの取得が完了したらサーバーにドメインを紐づけます。 今回はロリポップでの設定方法です。 その他レンタルサーバーの場合は、各会社のマニュアルがあると思うので、そちらを参照してください。 ロリポップの管理画面を開きます サーバーの管理・設定>>独自ドメイン設定をクリック ドメイン欄に取得したドメインを貼り付け 公開(アップロード)フォルダは必要に応じて入力 「独自ドメインをチェックする」をクリック 一応記載上は反映までに数時間~1日かかると書いてありますが、割とすぐに反映しました。 何かおかしい場合は待ったほうが良いかもしれません。 公開(アップロード)フォルダに入力するフォルダについて WorPressの構成ファイルがインストールされているフォルダ名です。 もしフォルダの中にはいっておらず一番TOPの階層に直接インストールされている場合は空欄になります。 フォルダにWorPressの構成ファイルが入っていればそのフォルダ名になります。 不明な場合は、ロリポップ!FTPにアクセスしてフォルダ構造を確認してください。 詳細な手順はロリポップのページをも参照してみてください。 https://lolipop.jp/manual/user/chg-plan/ 以上で設定完了です!うまくできましたか? 「公開(アップロード)フォルダ」については、最初は自分もよくわからなかったので、うまく伝わっていれば幸いです。
【WordPress】パーマリンク設定

2020-03-15

はじめに この設定方法は当ブログを構築する際に調べたものになります。 人にとって必要なものが異なる場合もあると思いますが、あらかじめご了承をお願いいたします。 利用環境は以下の通りです。 PC:Windows10 レンタルサーバー:ロリポップ 利用テーマ:JIN(有料) パーマリンクとは パーマリンクとは記事を作成する際に生成される記事のURLです。 確か初期設定は https://ドメイン/年/月/ここは記事のタイトルです/ みたいになっていたと思います。 URL構造も深いですし、日本語が含まれるURLをブラウザからコピーすると、URLエンコードがかかり下のようにカオスな文字列になります笑 https://minememo.work/年/月/ここは記事のタイトルです/ ↓ https://minememo.work/%E5%B9%B4/%E6%9C%88/%E3%81%93%E3%81%93%E3%81%AF%E8%A8%98%E4%BA%8B%E3%81%AE%E3%82%BF%E3%82%A4%E3%83%88%E3%83%AB%E3%81%A7%E3%81%99/ ※一緒のURLです。 「シンプルなURL構造を維持する」というのがGoogleのSEO的にも 推奨 されているので、 それにあわせてURL構造をパーマリンク設定でシンプルにしていくことが必要 になります。 Googleの記述を抜粋 サイトの URL 構造はできる限りシンプルにします。 論理的かつ人間が理解できる方法で可能な場合は ID ではなく意味のある単語を使用してURLを構成できるよう、コンテンツを分類します。 URL では区切り記号を使うと効果的です。 http://www.example.com/green-dress.html という URL の方が、 http://www.example.com/greendress.html という URL よりずっとわかりやすくなります。 URL にはアンダースコア(_)ではなくハイフン(-)を使用することをおすすめします。 Googleの抜粋元のページ https://support.google.com/webmasters/answer/76329?hl=ja 設定方法 WordPressの設定 この設定は一回だけ行えばOKです。 WorPressの管理画面に移動 設定>>パーマリンク設定 カスタム構造に/ %postname% を入力 「変更を保存」をクリック 記事を作成する際の設定 この設定は記事を作成するごとに必要です。 記事作成画面の上部に以下があると思います。 「編集」をクリックし適宜設定をしてください。 old_edit_pl ※URLの表示はサンプルです。記事によって異なります。 ※WordPressの新しいエディタの場合は画面の右側に「パーマリンク」のボタンがあったと思います。 以上で設定完了です。 お疲れ様でした!
profile_icon
taka
プログラマー
2017年11月から業務でPHPを触りだしたエンジニアです。 業務経験8年程度。 2022年から「要求整理→設計→実装→テスト→リリース」と開発のステップをきちんと経験したく、 様々な会社を経験しました。 現職が自社案件枯渇、本社エリア以外のSES案件の繋がりがなしと急に発覚し、急遽強制的に転職活動中。 現職をやめるつもりはなかったし、転職は本当に最後にしたいのでもしよければお声がけください。 【GitHub コードサンプル】 https://github.com/tm-qc - Docker、MVC、CRUD、認証、テストなどのサンプルコード(Laravel、ASP.NET CORE) - 経験PJ詳細まとめ