Vũ Thành Lâm

Chuyển đổi tất cả các liên kết nội trong bài viết của bạn trong Google AMP page WordPress

5/5 - (2 bình chọn)

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

Các bạn có thể xem thêm:

  1. AMP HTML là gì
  2. Google AMP HTML với WordPress Joomla và hành động của chúng ta

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ư:

  1. 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
  2. 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
  3. 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;
}

Kết quả kiểm tra sẽ như sau:

Chúc các bạn thành công

Exit mobile version