Opace Digital Agency
Forum Replies Created
-
Forum: Plugins
In reply to: [Internal Links Manager] Number of links not detecting manually added linksThanks. I’ve fund a functions.php workaround for this. I don’t know if it’s the best solution but sharing below:
// Helper function to normalize URLs for comparison
function normalize_url($url) {
$parsed_url = parse_url(strtolower($url));
$host = isset($parsed_url['host']) ? preg_replace('/^www./', '', $parsed_url['host']) : '';
$path = isset($parsed_url['path']) ? rtrim($parsed_url['path'], '/') : '';
return $host . $path;
}
// Function to remove duplicate internal links
function remove_duplicate_internal_links($content) {
libxml_use_internal_errors(true);
$dom = new DOMDocument();
$dom->loadHTML('' . $content);
$xpath = new DOMXPath($dom);
$links = [];
$nodes_to_remove = [];
// Collect all links and identify duplicates
foreach ($xpath->query('//a[@href]') as $node) {
$href = $node->getAttribute('href');
$normalized_href = normalize_url($href);
if (isset($links[$normalized_href])) {
// Duplicate link found, mark it for removal
$nodes_to_remove[] = $node;
} else {
$links[$normalized_href] = true;
}
}
// Remove duplicate link nodes
foreach ($nodes_to_remove as $node) {
// Replace the link with its text content
$text_node = $dom->createTextNode($node->textContent);
$node->parentNode->replaceChild($text_node, $node);
}
// Get the updated content
$body = $dom->getElementsByTagName('body')->item(0);
$content = '';
if ($body) {
foreach ($body->childNodes as $childNode) {
$content .= $dom->saveHTML($childNode);
}
} else {
$content = $dom->saveHTML();
}
return $content;
}
// Add this filter with a high priority to run after other content filters
add_filter('the_content', 'remove_duplicate_internal_links', 9999);Hi Jack,
Thanks for the review, really appreciate that. I’ve added Vietnamese into v1.2.5 but I’ve also included a new text field on the settings page for users to add their own languages. I hope this does the tick. Any issues, let me know.
Many thanks,
David
Closing this for now but please send a new comment if you would like a specific language added.
Hi there Jack,
Thanks for the feedback. Would you mind dropping us a quick review?
If you let me know what language(s) are missing from the settings page, I can add these in the next release. As a short-term solution, I would suggest you edit the prompt box. On each screen, the prompt text includes the language. It’s defaulted to English, but you can just change this to another language and click ‘regenerate’.
Hope that helps.
Many thanks,
DavidClosing due to lack of response/feedback. Please add a new comment if you would like this to be re-opened.
Hi Anne,
It wasn’t originally developed for optimising existing posts but this is something we could look at adding if more requests come in for the feature.
How would you see this working?
There are other plugins that will summarise, rephrase, etc. but I’ve not found one that optimises well.
For example, we could have a screen where you enter the title and it suggests keywords. You would then review/update/select keywords as needed. Then we could have a screen to allow you to copy your existing article across and create a prompt to optimise based on the keywords.
This is quite simplistic as there’s a lot more to SEO than this but is this along the right track?
The one issue with this kind of thing is that it really depends on your article length and OpenAI model. Long articles are going to struggle unless you’re on a 16K or 32K model that allows for larger context windows (i.e. input and output).
AI-Scribe works well as it builds new articles in an incremental fashion.
Thanks,
David
Sorry for the delay in responding. Unfortunately, the plugin hasn’t received as much usage as we had thought but hopefully this will change as more users come on board. As it’s an entirely free plugin, the potential updates were planned if/when it gains more traction and enough requests from users to justify the development time. Please keep an eye on the plugin page for future updates.
Sorry for the delay responding. That’s very strange as the plugin is set to automatically redirect you to the settings page / API key field when the plugin is first installed. Please click on the Settings link, if you’re not automatically taken to the AI Engine tab, please click this at the top – https://prnt.sc/axRXwgMAJJSA. Then scroll down and you should see the following field where you can add the API key – https://prnt.sc/Aq9SpsWVKgpX. At the bottom of the page, click save, and that should work.
Hi there, unfortunately, this is out of our control as the error indicates it’s an issue with your OpenAI account. For more information, please see:
You can check your quota allowance here: https://beta.openai.com/account/billing/limits
Once resolved, the AI-Scribe plugin should work.
This has been resolved now with the additional error handling added.
Forum: Plugins
In reply to: [Internal Link Juicer: SEO Auto Linker for WordPress] ACF custom fieldsThanks for the reply. My entire site is built using Divi and dynamic modules using custom fields, so we have a significant number of these.
With the premium version, can you plugin be set to automatically include all custom fields rather than including them individually? This is how most other plugins I use work.
This is the result of a gateway timeout error due to the large token size. During testing, we found this happened mainly with slower models like GPT-4 during the Evaluate stage and sometimes even during the other stages that needed to process large token counts. Unfortunately, it’s largely out of our hands as it’s caused by OpenAI taking too long to respond. I would suggest changing to a faster model like GPT-3.5-Turbo for now. We’ll add an error message at the Evaluate stage so it’s clearer to users when this happens.
Can you please explain, surely point 2 (vendor registration using social login) and point 3 (allowing a new or unregistered vendor to start the product upload process from the front-end) are both features that would need to work with your WCFM Marketplace plugin, e.g. as part of your registration process?
No, it’s a very powerful tool but this is one of the more tricky aspects of configuring the plugin. You can add different cookie categories (e.g. statistics, marketing, etc.), but you then need to manually enter a comma separated list of the cookies used under each category and mark them as required or not. I’ve been told that the below plugin will automatically detect cookies but it’s not one that I’ve used personally and I don’t know whether it provides all of the GDPR compliance measures needed: