f[x_]:= a x (1-x)

The fixed points of f  satisfy fpf = 0

fpf = Factor[f[x]-x]

fp[x_] = a-2a x

We can plot the solution to the equation in terms of a and x using ContourPlot:

ContourPlot[fpf==0, {a,0,4}, {x, -.1, 1}]

That looks bad at the crossing of the two branches of fixed points.  define the two factors of fpf, to get fp1f = x and fp2x.

fp1f = x
fp2f = fpf/x

ContourPlot[{fp1f==0, fp2f ==0}, {a,0,4}, {x, -.01, 1}, FrameLabel ->{a,x}]

By hand, we found that the trivial fixed point changes stability at a = 1, x = 0, and the nontrivial period 1 point is superstable at a = 2, x = 1/2, and it changes stability at a = 3, x = 2/3.  So we can plot these points on tops of the curves.

ContourPlot[{fp1f==0, fp2f ==0}, {a,0,4}, {x, -.001, 1}, FrameLabel ->{a,x}, Epilog -> {Point[{1,0}],Point[{2, 1/2}], Point[{3, 2/3}]}]

Now we add the period 2 points, and we will want to use the computer algebra.
The fixed points of f^2 satisfy fpf2 = 0

fpf2 = Factor[f[f[x]] -x]

The period 2 points satisfy per2 = 0

per2 = fpf2/fpf

We see that the nontrivial fixed point (the orange branch) has a period doubling bifurcation at a = 3.

ContourPlot[{fp1f==0, fp2f ==0, per2 == 0}, {a,0,4}, {x, -.001, 1}, FrameLabel ->{a,x}, Epilog -> {Point[{1,0}],Point[{2, 1/2}], Point[{3, 2/3}]}]

Now, lets compute the stability of the period 2 points. Call these period 2 points x0 and x1 = f(x0).

Solve[per2 == 0, x]

x0 = ((a+(a^2)-a (Sqrt[-3-2 a+(a^2)]))/(2 (a^2)))

If we were doing this by hand, we could get a simple expression for f’(x0).

fp[x0]
Simplify[fp[x0]]

Similarly

x1 = ((a+(a^2)+a (Sqrt[-3-2 a+(a^2)]))/(2 (a^2)))

Simplify[fp[x1]]

It would not be too hard to compute the following by hand,

Simplify[fp[x0]*fp[x1]]

And we can solve a quadratic equation for the a value where the stability of the nontrivial fixed point changes:

Solve[fp[x0]*fp[x1]== -1]

aPer2to4 = 1+(Sqrt[6])
N[aPer2to4]

It is MUCH simpler to find the a value of the superstable period 2 points.
If x0 = 1/2 is a period 2 point, then it is superstable since f’(1/2) = 0.
The values of a where there is a superstable period 2 point thus satisfy
 f^2(1/2) = 1/2,  and f(1/2) ≠ 1/2.

Factor[f[f[1/2]] - 1/2]

The a = 2 solution gives the superstable period 1 point, so we solve the quadratic and take the solution in the interval 0 < a < 4 to get the superstable period 2 points.

Solve[-4-2 a+(a^2)==0, a]

aSSper1 = 2;
aSSper2 = 1+(Sqrt[5]);
N[aSSper2]

We can make the superstable points red by changing the color and then plotting them:

ContourPlot[{fp1f == 0, fp2f == 0, per2== 0}, {a,0,4}, {x, -.001, 1}, FrameLabel ->{a,x},(* AspectRatio->.618*)
Epilog -> {
Point[{1,0}],Point[{3,2/3}],
Point[{aPer2to4, x0/.a -> aPer2to4}], (* the -> says to substitute for a *)Point[{aPer2to4, x1/.a -> aPer2to4}],
Red,
Point[{0,0}],(* the trivial solution is superstable at a = 0 *)
Point[{2,1/2}],
Point[{aSSper2, x0/.a -> aSSper2}], Point[{aSSper2, x1/.a -> aSSper2}]
}]

Partial bifurcation diagram showing the period 1 and 2 points of the Logistic Map family.  The black dots indicate a bifurcation point, were branches intersect and the stability of a solution changes. The red dots indicate a superstable fixed point or period 2 point.  The a-value of the dots are 0, 1, 2, 3, 1 + (Sqrt[5]) = 3.236... and 1 + (Sqrt[6]) = 3.449... .

It is possible to make the unstable solutions dotted, but I will refrain from doing that.