Tag: canonical

If I have a duplicate content, which URLs should I use in json-ld Article schema? To be precise, let’s say I want to publish an article from my blog.example.xyz on another site e.g. popular.example.com. When I publish the article on popular.example.com I go and update canonical URL on my blog.example.xyz, and og:url property (both should be same as implied here):

but Google states that mainEntityOfPage should be same as canonical URL. Now, it’s easy to update mainEntityOfPage to the new url. But what about image url and organization? Can image url point to a location other than canonical url? And should I change Organization entity to the popular.example.com and change the url there also? How would it affect SEO if I left them unchanged? How would it affect SEO if I left mainEntityOfPage unchanged?

The target URL is always exactly the same (i.e. /example/). With exactly the same content.

The URL parameter only serves the purpose of being used as a hidden form field in a form on that page. So that I can identify the page the user has visited before actually submitting that form.

My question: How do I correctly set the canonical to prevent the target page to be indexed multiple times?

Only on the actual target page in the head like this?

<link rel="canonical" href="https://www.example.com/example/" />

Or should I also do it on the actual original link? How would I ideally solve this?

Currently, the tool ahrefs.com claims those pages as “Duplicate pages without canonical” although I have already set the self-referencing canonical on the target page like this <link rel="canonical" href="https://www.example.com/example/" />.

One of the advertising options that my site provides is paid content syndication. For a fee, we will republish articles from the advertiser's blog. We make sure to mark the article as sponsored and all of the links in the article as nofollow. We also point the canonical link back to the original article to avoid duplicate content issues from Google.

Since we are pointing the canonical URL back to the original article, all of the link juice that my version would get is not going to the…

Is Paid Content Syndication, with a Canonical tag, the same as selling links?

I recently took over managing two websites, A and B for two different, English-speaking countries. A has unique content and ranks, B is tagged as canonical as the content is 1:1 the same. B has 20 pages indexed in Google (I don't really get why, as it's all duplicate content from A), but none of them rank high anywhere. The website owner can't afford to have the entire website B redone with unique content, so we agreed on reducing the multi-page to a one-pager with unique…

Is there a way for me to automate crash reports to a private server? I would like apport reports to be sent to http://example.com, not Canonical. I’m not sure if this has been already done or is a feature inside of apport. Thanks.

There are a few possible approaches to proof automation in modern Coq.

Writing proof scripts with Ltac. This is the approach described in http://adam.chlipala.net/cpdt/, which the author uses to great effect in projects like http://adam.chlipala.net/papers/BedrockPOPL15/. It can significantly reduce the amount of proof code required, but requires a good handle on the quirks of Ltac and does not seem straightforward to debug.

Canonical-structures-based automation. This is the approach described in https://people.mpi-sws.org/~beta/lessadhoc/, and used in Mathcomp. It involves taking advantage of Coq’s type inference mechanism to automatically execute logic programs that search for certain kinds of proof terms. It’s described in that paper as less ad-hoc than the Ltac-heavy approach, but not necessarily faster, and can be more verbose due to needing to use the canonical structures mechanism for something it wasn’t directly designed for.

Dependent types/Equations. The Equations plugin (https://www.irif.fr/~sozeau//research/publications/drafts/Equations_Reloaded.pdf) seems to faciliate in Coq the same convenience when working with dependently typed programs as a language like Agda or Idris. With this approach the elaborator acts as a form of automation, and the amount of proof code is reduced by having algorithms create, manipulate and pass around proof terms directly.

There are also some modern developments that complement these.

Ltac2. This is meant as a replacement for Ltac, with fewer quirks and potentially better performance, as described in https://popl19.sigplan.org/details/CoqPL-2019/8/Ltac2-Tactical-Warfare. The paper states that “Ltac2 is still in an active development phase, but the foundations of the language have been settled. More than anything, it is in need of users in order to polish the rough edges”. If it is meant to be a superior replacement to Ltac, then should it be considered instead of Ltac for new projects, since it’s already ready for user testing?

Metacoq. This provides metaprogramming features that allow the development of higher level tools, as described on https://www.irif.fr/~sozeau/research/publications/drafts/The_MetaCoq_Project.pdf, and presumably simplify the use of proof by reflection, a technique used in both canonical-structures-based an Ltac-heavy approaches.

My question is, if I’m starting a new project, what criteria should I use to determine which approach or combination thereof to adopt? As a concrete example, imagine I want to verify the easy-to-verify parts of a program that connects to a server over the internet, downloads some data, processes the data somehow, then serves the processed data over TCP. By easy-to-verify I mean not verifying the TCP/HTTP stack, or proving from scratch the correctness of well-known algorithms used in the data processing. When I consider how I’d structure this it seems like the structure would be quite different depending on which of the above approaches I used, and I lack the experience to make a judgement regarding which would produce the best result in terms of maximising the output of verified code per unit of development time. What factors should necessitate the use of canonical structures or Equations instead of just plain Ltac?

Show that for the following coin system S, the following greedy algorithm gives the optimal solution: Select the largest possible coin at each step until the amount of money has been obtained for any given value of money. S = {1,2,5,10,20,50,100,200}.

I do not know where to begin with this proof. I am thinking that mathematical induction could be used, but I’m not sure how I would perform that proof. This problem is very easy to prove for particular amounts of money, but I don’t have a clue how to prove it for any amount of money.