/** * @param string $initial_url * * @return void */ private function run_test_on_consecutive_pages($initial_url) { // Test page 1 of the post type archives, should have just a rel=next and a canonical $this->go_to($initial_url); $page_2_link = get_pagenum_link(2, false); $expected = '<link rel="next" href="' . esc_url($page_2_link) . '" />' . "\n"; self::$class_instance->adjacent_rel_links(); $this->assertEquals($initial_url, self::$class_instance->canonical(false)); $this->expectOutput($expected); // Test page 2 of the post type archives, should have a rel=next and rel=prev and a canonical self::$class_instance->reset(); $this->go_to($page_2_link); $page_3_link = get_pagenum_link(3, false); $expected = '<link rel="prev" href="' . esc_url($initial_url) . '" />' . "\n" . '<link rel="next" href="' . esc_url($page_3_link) . '" />' . "\n"; self::$class_instance->adjacent_rel_links(); $this->assertEquals($page_2_link, self::$class_instance->canonical(false)); $this->expectOutput($expected); // Test page 3 of the author archives, should have just a rel=prev and a canonical self::$class_instance->reset(); $this->go_to($page_3_link); $expected = '<link rel="prev" href="' . esc_url($page_2_link) . '" />' . "\n"; self::$class_instance->adjacent_rel_links(); $this->assertEquals($page_3_link, self::$class_instance->canonical(false)); $this->expectOutput($expected); }
/** * @covers WPSEO_Frontend::canonical */ public function test_canonical() { // @todo: fix for multisite if (is_multisite()) { return; } // create and go to post $post_id = $this->factory->post->create(); $this->go_to(get_permalink($post_id)); // test default canonical $expected = get_permalink($post_id); $this->assertEquals($expected, self::$class_instance->canonical(false)); // test manual override while using no override $meta_canon = 'http://canonic.al'; WPSEO_Meta::set_value('canonical', $meta_canon, $post_id); $this->assertEquals($expected, self::$class_instance->canonical(false, false, true)); // test manual override $this->assertEquals($meta_canon, self::$class_instance->canonical(false)); // test home page $this->go_to_home(); $expected = home_url(); $this->assertEquals($expected, self::$class_instance->canonical(false, false, true)); // test search $expected = get_search_link('sample query'); $this->go_to($expected); $this->assertEquals($expected, self::$class_instance->canonical(false)); // test taxonomy pages, category pages and tag pages $category_id = wp_create_category('Category Name'); $category_link = get_category_link($category_id); $this->go_to($category_link); $expected = $category_link; $this->assertEquals($expected, self::$class_instance->canonical(false)); // @todo test post type archives // @todo test author archives // @todo test date archives // @todo test pagination // @todo test force_transport }
public function url() { $url = WPSEO_Frontend::canonical(false); echo "<meta property='og:url' content='" . esc_attr($url) . "'/>\n"; }