Git Product home page Git Product logo

markupseo's People

Contributors

dharmastyle avatar neuwaerts-de avatar nicoknoll avatar pjguk avatar plauclair avatar tobaco avatar tsdtsdtsd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

markupseo's Issues

Custom tags render incorrectly

Entering a custom tag such as:

<meta name="google-site-verification" content="XXX">

Produces:

<meta name="custom" content="<meta name="google-site-verification" content="XXX">">

Adding "continue" fixes the issue.

$rendered = '';
foreach(array_filter($mixedData) as $name => $content) {
    if($name == 'custom') continue;
    if($name == 'robots') $content = implode(', ', $content);
    $rendered .= '<meta name="'.$name.'" content="'.$content.'">'."\n";
}

No SEO tab, error when trying to uninstall module

I'm not getting an SEO tab appear on my publish/edit pages (I have specified templates to get the tab in the module's settings). So I thought I should maybe uninstall and reinstall, but when I try to uninstall I get:

Recoverable Fatal Error: Argument 1 passed to Fields::___delete() must implement interface Saveable, null given (line 265 of /wire/core/Fields.php)

Or are there some other set-up steps I've missed?

Image meta tag should include full URL

Hi, I noticed that the "image" and "OG:image" tags only output the filename, not the full path.
Examples:
<meta name="image" content="maxresdefault.jpg">
<meta property="og:image" content="maxresdefault.jpg">
I use the image field on the SEO tab that was supplied with the module and automatically include the tags in the header.

Module version 0.8.7, PW version 3.0.118

switching templates - error!

Hi Nico, when changing a template for a page, I get this sometimes:
Notice: Trying to get property of non-object in /.../site/modules/MarkupSEO/MarkupSEO.module on line 101

(The old template was in the list of templates in the SEO module settings, the new template not)

Even smarter Smart Titles? Maybe a title format override checkbox?

Hi Nico,

Would it be easy to add a check in the title generation to NOT add the sitename to the title redundantly?

My title format string is "{title} - {sitename}", and my sitename is "AnswerHub". It would be super cool if there was a way to add no-repeat into the format, so it would only add the sitename if it wasn't already in the title string.

Another option might just be to let the page have a title format override checkbox to skip the title format and just use the entered string exactly. Since lots of people won't necessarily be using the same title format string, this would be a more reliable and simple way to give absolute certainty.

Best,
Rick

ProcessDatabaseBackups crashes when MarkupSEO is installed

To reproduce: Install MarkupSEO, Install ProcessDatabaseBackups, Create a Backup (Setup -> DB Backups -> Create a Backup, Submit) and try to select it from the list of available backups.

The following error is thrown:

Error: Exception: Unknown Selector operator: '' -- was your selector value properly escaped? (in <path>\wire\core\Selectors.php line 247)

#0 <path>\wire\core\Selectors.php(284): Selectors->create('0', '', ':dumpname.sql')
#1 <path>\wire\core\Selectors.php(81): Selectors->extractString('0:dumpname.sql')
#2 <path>\wire\core\Pages.php(175): Selectors->__construct('0:dumpname.sql')
#3 [internal function]: Pages->___find('0:dumpname.sql', Array)
#4 <path>\wire\core\Wire.php(389): call_user_func_array(Array, Array)
#5 <path>\wire\core\Wire.php(344): Wire->runHooks('find', Array)
#6 <path>\wire\core\Pages.php(270): Wire->__call('find', Array)
#7 <path>\wire\core\Pages.php(270): Pages->find('0:dumpname.sql', Array)
#8 <path>\wire\core\Pages.php(285): Pages->findOne('0:dumpname.sql')
#9 <path>

HTML5 Validation

Invalid output validator

example error:

Bad value og:site_name for attribute name on element meta: Keyword og:site_name is not registered.

Does canonical require "link rel=" format instead of "meta"?

I was not getting the "meta name=canonical" tag to be recognized by a popular SEO extension I use, so I located the part of the MarkupSEO module that emits and made a simple change around line 340 in MarkupSEO.module:

    // add "render"
    $rendered = '';
    foreach($pageData as $name => $content) {
        if($name == 'custom') { 
            continue; 
        }
        if($name == 'title') {
            if($this->titleFormat == '') continue;
            $rendered .= '<title>'.$this->parseTitle($page, $content).'</title>'.PHP_EOL; 
            continue;
        }
        if($name == 'canonical') {
            $rendered .= '<link rel="canonical" href="'.$content.'">'.PHP_EOL; 
            continue;
        }
        $rendered .= '<meta name="'.$name.'" content="'.$content.'">'.PHP_EOL;
    }

Now the canonical reference is correctly recognized by the SEO checker I was using.

Title format for children

Love this module!

A great feature would be the possibility to set a default title format for a template.

Trying to autofill seo image field

Hi,

I am trying to autofill the Image field on the SEO tab based on the image uploaded into the content tab.

I tried var_dumping the $event to see if I could extract the data (image) from there but i am unable to find it.

Does this seem like something that is even possible?

Descriptions

I think it would be nice if Robots, Include Generator and Include Open Graph would have 1 or 2 descriptive sentences to show what they are about.

Keywords tag is no longer useful for SEO

For several years now, the keywords tag is no longer used by search engines to index pages. Worse, some tests even show that this can be a penalty...

To avoid confusion, it would be nice if this field disappears MarkupSEO which is otherwise very good!

At least, if the field is not filled then the meta-tag is not generated ...

Thanks in advance

title tag with source from individual field

I tried to use my own field (title_window, string field) as source for the title tag:

{title_window} - {sitename}

That does not work, what I get is this:

<title>{title_window} | MyCompany</title>

Is this intended?

Incompatibility with PW3.0.4X

Hi Nico

As per the forums, a few users reporting issues with upgrades to PW3.0.4X
In my case the META tags don't render at all.
I'm using <?php echo $page->seo->render;?>

Any idea when you could look at this?

MarkupSEO doesn't respect the "Should page URLs end with a slash?" template setting

Hi there, I noticed what I think is a bug. It seems like MarkupSEO doesn't respect the "Should page URLs end with a slash?" template setting. I don't like having the trailing slash on the end of my urls.

I noticed MarkupSEO outputs the following:

When the actual url of the page is http://mywebsite.dev/support-us/donate

I also noticed the "Google preview" under the SEO tab when editing the page doesn't respect the template setting either. The Google preview always ends with a slash.

I'm not sure how to fix it, but I thought I would report it anyways.

Custom tags not working on windows server

Custom tags are not working on a windows server (IIS).
Specifically, the command PHP_EOL is not working on line 426 in MarkupSEO.module:

private function parseCustom($custom) {
	if(trim($custom) == '') return;
	$return = '';
	$lines = explode(PHP_EOL, $custom);
	foreach($lines as $line) {
		list($key, $value) = explode(':=', $line);
		$key = preg_replace('%[^A-Za-z0-9\-\.\:\_]+%', '', str_replace(' ', '-', trim($key)));	
		$value = trim(wire('sanitizer')->text(html_entity_decode($value)));
		$return[$key] = $value;
	}
	return $return;
}

I changed the delimiter from PHP_EOL to \n and it is now working.
Working code:

private function parseCustom($custom) {
	if(trim($custom) == '') return;
	$return = '';
	$lines = explode("\n", $custom);
	foreach($lines as $line) {
		list($key, $value) = explode(':=', $line);
		$key = preg_replace('%[^A-Za-z0-9\-\.\:\_]+%', '', str_replace(' ', '-', trim($key)));	
		$value = trim(wire('sanitizer')->text(html_entity_decode($value)));
		$return[$key] = $value;
	}
	return $return;
}

I didn't test this on other systems but apparently there are common issues with PHP_EOL
source: https://stackoverflow.com/questions/5508454/how-to-resolve-php-php-eol-issue

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.