Simplicityの特徴 › フォーラム › Simplicity2に関する話題何でも › 「Internet Archive」への外部リンクブログカードが正常に表示されなくなった
- このトピックには20件の返信、2人の参加者があり、最後に
simpfanにより9年、 2ヶ月前に更新されました。
-
投稿者投稿
-
-
2016年8月12日 10:21 AM #44330
simpfan
ゲストこんにちは。いつもお世話になってます。
私はサイト上で、以前『寝ログ』でも紹介されていたWEBページ保存サービスの「Internet Archive」をよく利用しているのですが、テーマを最新版にアップデートしたところ、そのすべての外部リンクが、「This page is error.」になってしまうようになりました。リンク自体は正常に機能していて、アイキャッチ画像(キャプチャ)も表示されるのですが、ページタイトルなどが一切正常に表示されなくなっています。
とりあえず現在は外部リンクの設定を「はてなカード」に設定することで一応は解決しているのですが、できれば今までどおり独自キャッシュのブログカードを利用したいので、対処法をお知らせいただければと思います。
よろしくお願いします。
-
2016年8月12日 8:45 PM #44333
わいひらキーマスター以前使用していたバージョンは幾つでしょうか?
あと、v2.2.4では正常動作しますでしょうか。こちらでテストしてみたのですが、僕の環境では正常動作するようです。
http://simplicity.wp.xdomain.jp/post-2206/
エラーが出るURLとかできれば掲載していただいてよろしいでしょうか。
あと、レンタルサーバー名とかも。
できれば、環境や設定周りを見たいのでサイトのURLを掲載していただけると助かります。 -
2016年8月13日 9:26 AM #44342
simpfan
ゲストこちらでも改めて検証してみたところ、Internet Archivesにhttp接続したページにリンクした場合は、正常動作することを確認しました。ただそれをhttpsで接続したページにリンクを張ろうとすると、やはり前述のエラーが出てしまいます。
つまり、
だと問題なく表示されるのが、
だとすべてエラーになるということです。ただどちらも、前述のとおりリンクとアイキャッチは正常に動作します。
これは2.2.4の時点では(2.2.3でも)発生していないエラーでした。
また、私のサーバーはエックスサーバーなのでわいひらさんと同じだと思います。また、キャッシュ保持の設定やプラグインは利用していませんし、念のためすべてのプラグインを停止しても同じ症状でした。
よろしくお願いします。
-
2016年8月13日 12:38 PM #44345
simpfan
ゲストこれがエラーのキャプチャです。
上が
http://web.archive.org/web/20160616192719/http://wp-simplicity.com/
下が
https://web.archive.org/web/20160616192719/http://wp-simplicity.com/
の場合です。
よろしくお願いします。
-
2016年8月15日 4:02 PM #44384
わいひらキーマスターとりあえず、lib/open-graph.phpの以下をコメントアウトすれば、元には戻ると思います。
add_action('http_api_curl', 'set_ecc_cipher_suites', 10, 2);もしくは、子テーマのfunctions.phpに以下のように書くか。
function set_ecc_cipher_suites($handle, $r) { return ; }#44262の方法を適用したら、今度はインターネットアーカイブが取得できなくなったようです。
ここら辺の設定は、僕はあまり詳しくないので、解決方法を見つけないと、今のところ上記の方法で対応するしかないかもしれません。
また調べてみます。 -
2016年8月15日 4:57 PM #44390
simpfan
ゲストありがとうございます。
ともかくこの問題が私の環境固有のものでないことがわかりよかったです。
とりあえずプログラムに疎い私としては、いちばん単純でわかりやすい解決策として、当面は「はてなカード」を代用することで凌ぎたいと思います。
バージョンを下げてもいいのですが、それだとその他の修正も元に戻ってしまうので。よろしくお願いします。
-
2016年8月15日 5:28 PM #44391
technote
ゲストhttp://www.harumaki.net/2015/01/25/php-redhat-centos_curl_ssl-connection-error/
によるとv7.19.7のcurlが問題のようなので、それ以外ではなにもしないようにすると良いかもしれません。$info = curl_version(); if ($info['version'] !== '7.19.7') { return; } -
2016年8月16日 7:54 PM #44406
-
2016年8月17日 3:13 AM #44419
technote
ゲスト以下の様な実装かと思います。
パフォーマンス的には二番目のほうが良いです。function is_nss_curl() { $info = curl_version(); return $info['version'] === '7.19.7'; }function set_ecc_cipher_suites($handle, $r) { $info = curl_version(); if (is_nss_curl() && isset($r['simplicity'])) { … } }or
if (is_nss_curl()) { add_action('http_api_curl', 'set_ecc_cipher_suites', 10, 2); } -
2016年8月17日 3:13 AM #44420
technote
ゲストfunction set_ecc_cipher_suites($handle, $r) { $info = curl_version(); if (is_nss_curl() && isset($r['simplicity'])) { … } }=>
function set_ecc_cipher_suites($handle, $r) { if (is_nss_curl() && isset($r['simplicity'])) { … } } -
2016年8月17日 12:50 PM #44426
わいひらキーマスターありがとうございます。
とりあえず、こんな感じに修正してみました。
https://github.com/yhira/simplicity2/commit/7616562c44e4803a590ef265291cab8da41cd28a修正後のテーマが以下。
https://wp-simplicity.com/wp-content/uploads/2016/08/simplicity2-1.zip
もし、エラーが出ている方があおられましたら試していただけると幸いです。 -
2016年8月17日 6:01 PM #44434
technote
ゲスト私の以下の環境では問題ありませんでした。
環境1:ローカル、Vagrant(vccw)、WordPress v5.4.3、curl v7.19.7
環境2:AWS、WordPress v5.4.3、curl v7.40.0しかしWordPress v4.6にアップデートするとcurl v7.19.7の環境で正常に動作しなくなります。
HTTP APIに内部的な大きな変更がはいったためです。
https://make.wordpress.org/core/2016/07/27/http-api-in-4-6/
この影響でhttp_api_curlのアクションが使用できなくなりました。コードを見ましたが割り込める箇所がないためどうしようもなさそうです。
https://core.trac.wordpress.org/ticket/33055#comment:73
こちらでもhttp_api_curlが使用できなくなって困っている人がいるため、対応される可能性があります。 -
2016年8月17日 6:03 PM #44435
technote
ゲストすみません。
WordPress v5.4.3 => WordPress v4.5.3
です。 -
2016年8月17日 8:17 PM #44436
simpfan
ゲストわいひらさん、みなさん、ありがとうございます。
さっそく修正後のテーマを導入してみたところ、私の環境では(Wordpress4.6でも)不具合は解消されました。
参考までに言えばまだいくつかのサイト
などではエラーが出てしまうのですが、これは以前のバージョンから起きていたエラーですし、今回はともかくInternet Archiveが主題でしたので、これで利用し続けたいと思います。
改めて、ありがとうございました。
-
2016年8月18日 1:56 PM #44454
わいひらキーマスターみなさん、動作確認ありがとうございます。
とりあえず、インターネットアーカイブの不具合は改善されたようでよかったです。
technoteさん、解決方法感謝です!>technoteさん
せっかく解決出来たのに、すぐにこんなバージョンアップが…。
とりあえず、様子を見るしかなさそうですね;>simpfanさん
https://www.squarespace.com/
こちらのサイトは、僕のローカル環境でも、エラー取得を確認しました。
とりあえず、後でいろいろ試してみたいと思います。その他にも、取得エラーになるページがあれば、よかったら貼り付けていただけると幸いです。いろいろあったほうが、問題の共通点を見つけられる可能性が高いので。
実力不足などにより、必ず解決できるかはわからないのですが。 -
2016年8月18日 7:20 PM #44469
simpfan
ゲストわかりました。
他に私が見つけたものとしては、
http://www.thinktheearth.net/jp/onesecond/contents.html
や
http://incubator.sakura.ne.jp/Japan_gomi/index_01.html
が以前からエラーを出しています。
もしかしたら私の環境によるものかもしれませんが、少しでもお役に立てれば嬉しく思います。
-
2016年8月18日 8:08 PM #44471
hidekichi
ゲスト#44469のサイトはogpがありませんのでerrorと言うより取得できないだけかと思います。ここらはエラーメッセージを変更したほうが良いのかもしれませんね。
アクセス自体は正常に行われて、ogp情報がないので取得できません = エラーという表示なだけかと思います。 -
2016年8月18日 10:08 PM #44473
simpfan
ゲストなるほど、「ogp情報がない」という場合もあるんですね。
私はそういった知識がまったくなく区別できませんでしたが、確かにもし可能ならエラーメッセージを分けていただければありがたいです。ただもちろん、そんな知識がまったくない私でも手軽にサイトが運営できるSimplicityにはもう既に頭が上がらないです。
これからも少しずつ勉強しながら、その良さを最大限活かしていけたらと思います。 -
2016年8月18日 11:33 PM #44474
hidekichi
ゲスト例えばの話ですが、wp_remote_get()で取得できるのはogpだけではなく、他の要素も拾えるわけです。headタグの中身のパースが必要ですが、例えばそのサイトのtitleタグの中身とか。
アドレスはすでにわかっているので、ogpが取得できない場合に、Simplicityがその箇所を、ブログカードではなく、<div class="noOGP"> <a href="http://www.thinktheearth.net/jp/onesecond/contents.html">Think the Earth | 005-One Second <1秒の世界></a> </div>このように書き出した場合、
サンプル: jQueryでブログカードっぽく装飾する | codepen
こういうこともできなくはないと思うんですよね。やるかやらないかはわいひらさん次第です(笑)
まぁ別にjQueryでする必要もなくアドレスそのまま表示でも良いかとは思いますし、現状のthis page error部分を違うメッセージにしても良いですが、何かしらのセレクタさえあれば後からでもブログカードっぽくはできます。アドレスそのままの場合でも、何かしら装飾したいと思う場合もあると思うので、セレクタ付きで出力されていると、加工は楽になることは間違いないです。
-
2016年8月24日 8:55 PM #44650
-
2016年8月26日 12:27 PM #44689
simpfan
ゲスト最新版にアップデートしてみましたが、完璧ですね。
いろいろと、ありがとうございました。
-
-
投稿者投稿
- トピック「「Internet Archive」への外部リンクブログカードが正常に表示されなくなった」には新しい返信をつけることはできません。