As Mauro Allegranza said in the comments, operator precedence is a matter of convention, and there is no universally agreed convention. Your first link is to a textbook and sets out the conventions used in that text; you can expect them to have considerable overlap with conventions used elsewhere, but you cannot expect them to be used everywhere in their entirety, and indeed they aren’t. In particular, the convention of associating operators of equal precedence to the right is not universal (and disagrees with the usual convention for arithmetic operators). The article at your second link explicitly notes that there is some disagreement even over the order of precedence of logical operators, never mind over the question of how to handle operators of equal precedence.
In practice a writer has two reasonable choices. One is that adopted at your first link: state your conventions clearly (and then follow them!). The other, which is my preference, is to use parentheses whenever their omission is likely to be confusing. I would never write $p\Rightarrow q \Leftrightarrow r$; I would always write whichever of $(p\Rightarrow q) \Leftrightarrow r$ and $p\Rightarrow (q \Leftrightarrow r)$ I actually intended, and in a symbolic expression I’d avoid the ‘chained’ meaning ($(p\Rightarrow q)\land(q\Leftrightarrow r)$) noted by JMoravitz in the comments, though I might possibly use it in a specific argument laid out schematically, e.g.,
$$\begin{align*}
n\text{ is a multiple of }4&\Rightarrow n\text{ is even}\\
&\Leftrightarrow\exists k\in\Bbb Z(n=2k)\\
&\;\;\vdots
\end{align*}$$
A reader must hope that the writer took one of these approaches and be prepared if necessary to infer a given writer’s conventions.