Google AMP (Accelerated Mobile Pages) ra đời đã đem lại sức sống mới cho người dùng sử dụng các thiết bị di động đặc biêt ở nơi kết nối internet có đường truyền yếu và các kết nối 2G, 3G. Các hệ thống lớn như Joomla, WordPress hoặc các website lớn cũng ủng hộ việc này một cách mạnh mẽ. WordPress đã sớm cho ra đời plugin để người dùng có thể dễ dàng tạo AMP cho trang web của mình trong hướng dẫn về WordPress sau Hướng dẫn cài đặt Google AMP WordPress plugin
Cho đến thời điểm hiện tại đã có hơn 20.000+ lượt cài đặt Google AMP WordPress plugin tính đến 03/02/2016
Tuy nhiên trong phiên bản hiện tại vẫn còn nhiều vấn đề chưa được tối ưu tốt cho người dùng như:
- Không tự động thêm Google analytic cho AMP page cách làm Thêm Google Analytic vào Google AMP page với WordPress
- Không có thể thêm bài viết liên quan hay bài viết mới nhất cho Google AMP page
- Các liên kết nội bộ trong trang web vẫn Link về none-AMP page
Nếu bạn đang ở thiết bị di động mà các liên kết nội lại đến trang none-AMP page thì vẫn bị load với tốc độ thông thường sẽ gây khó khăn,vì vậy muốn làm sao để khi ta vào bằng thiết bị di động trong AMP thì các liên kết nội sẽ được tự động tới AMP page
Trong khuôn khổ bài viết này chúng tôi xin trình bày vấn đề làm thế nào để chuyển đổi tất cả các liên kết nội trong trang APM thành liên kết đến AMP chuẩn.
Trước tiên ta mở file functions.php trong theme của bạn
Thêm vào dòng code sau:
/*Support https://lamvt.vn*/ add_action( 'pre_amp_render_post', 'lamvt_amp_add_custom_actions' ); function xyz_amp_add_custom_actions() { add_filter( 'the_content', 'lamvt_amp_add_custom_actions' ); } function lamvt_amp_add_custom_actions( $content ) { global $wp; $curURL = home_url(add_query_arg(array(),$wp->request)); /*Get Current URL*/ $urls = wp_extract_urls($content); /*extract all your URLs in content*/ $new_url = array(); $old_url = array(); foreach($urls as $url){ if(parse_url($url)[host] == parse_url($curURL)[host]){ $old_url[] = $url; if(substr($url,-1)=='/'){ $new_url[] = $url.'amp/'; }else{ $new_url[] = $url.'/amp/'; } $content = str_replace($old_url,$new_url,$content); } } $content = str_replace($old_url,$new_url,$content); return $content; }