SEO対策

Internal Linkingをインストールしたら出たバグへの対処法

SEOコンサルをしているクライントのサイトで、Internal Linkingをインストールしたらエラーが発生したので、それに対する対処法をメモしておきます。

Internal Linking

バグの内容

internal_linking_bug

Fatal error: Uncaught Error: Call to undefined function mysql_query() in /home/retador/mastand.com/public_html/wp-content/plugins/seo-internal-link-building/InternalLinkBuilding.php:127 Stack trace: #0 /home/retador/mastand.com/public_html/wp-includes/class-wp-hook.php(286): seo_setting('') #1 /home/retador/mastand.com/public_html/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters('', Array) #2 /home/retador/mastand.com/public_html/wp-includes/plugin.php(453): WP_Hook->do_action(Array) #3 /home/retador/mastand.com/public_html/wp-admin/admin.php(224): do_action('toplevel_page_s...') #4 {main} thrown in /home/retador/mastand.com/public_html/wp-content/plugins/seo-internal-link-building/InternalLinkBuilding.php on line 127

プラグインの「InternalLinkBuilding.php」の127行目がおかしいようです。

対処法

127行目は次のようになっていました。

$sql = mysqli_query($db_link, "select * from internal_link_info");

これを次のように変更すると、正常に動作するようになりました。

$db_user   = $wpdb->dbuser;	//データベース接続ユーザーの取得
$db_passwd = $wpdb->dbpassword;	//データベース接続用パスワードの取得
$db_host   = $wpdb->dbhost;	//データベースホストの取得
$db_link = mysqli_connect( $db_host, $db_user, $db_passwd);
$sql = mysqli_query($db_link, "select * from internal_link_info");

スクリーンショット 2018-07-31 23.45.50

 

※追記
本当は使用したいプラグインはこっちだった後で気づく

Internal Link Building